{"product_id":"rx-9070-ryzen-9700x-32gb-1tb-gaming-pc","title":"RX 9070 16GB | RYZEN 9700X | 32GB DDR5 | 1TB NVME | WIN 11 PRO","description":"\n\u003cstyle\u003e\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Share+Tech+Mono\u0026family=Barlow+Condensed:wght@500;600;700\u0026family=Montserrat:wght@400;500;600\u0026display=swap');\n.rr-term-dark{font-family:'Share Tech Mono',monospace;background:#16091f;border:1px solid #6b21a8;border-radius:8px;overflow:hidden;color:#e9d5ff;position:relative;width:100%;box-sizing:border-box;}\n.rr-term-dark *{box-sizing:border-box;}\n.rr-term-dark .rr-td-titlebar{background:#6b21a8;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;}\n.rr-term-dark .rr-td-dots{display:flex;align-items:center;gap:8px;}\n.rr-term-dark .rr-td-dot{width:10px;height:10px;border-radius:50%;display:inline-block;}\n.rr-term-dark .rr-td-dot.d1{background:#ff2aac;}.rr-term-dark .rr-td-dot.d2{background:#c084fc;}.rr-term-dark .rr-td-dot.d3{background:#8b5cf6;}\n.rr-term-dark .rr-td-tbtitle{font-size:12px;color:#fff;letter-spacing:0.1em;display:flex;align-items:center;}\n.rr-term-dark .rr-td-tbcursor{display:inline-block;width:7px;height:13px;background:#ff2aac;margin-left:5px;animation:rrTdBlink 1s steps(1) infinite;}\n@keyframes rrTdBlink{50%{opacity:0;}}\n.rr-term-dark .rr-td-scan{position:absolute;left:0;right:0;top:0;height:90px;pointer-events:none;background:linear-gradient(180deg,rgba(192,132,252,0) 0%,rgba(192,132,252,0.10) 50%,rgba(192,132,252,0) 100%);animation:rrTdScan 7s linear infinite;z-index:2;}\n@keyframes rrTdScan{0%{transform:translateY(-100px);}100%{transform:translateY(1400px);}}\n.rr-term-dark .rr-td-body{padding:24px 24px 26px;position:relative;}\n.rr-term-dark .rr-td-hud{position:absolute;width:18px;height:18px;border:2px solid #ff2aac;z-index:3;}\n.rr-term-dark .rr-td-hud.tl{top:10px;left:10px;border-right:0;border-bottom:0;}\n.rr-term-dark .rr-td-hud.tr{top:10px;right:10px;border-left:0;border-bottom:0;}\n.rr-term-dark .rr-td-hud.bl{bottom:10px;left:10px;border-right:0;border-top:0;}\n.rr-term-dark .rr-td-hud.br{bottom:10px;right:10px;border-left:0;border-top:0;}\n.rr-term-dark .rr-td-heading{font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:#fff;margin:0 0 6px;min-height:32px;}\n.rr-term-dark .rr-td-hcursor{display:inline-block;width:9px;height:22px;background:#ff2aac;margin-left:3px;vertical-align:-3px;animation:rrTdBlink 1s steps(1) infinite;}\n.rr-term-dark .rr-td-hcursor.done{opacity:0;}\n.rr-term-dark .rr-td-sub{font-size:12px;color:rgba(233,213,255,0.55);letter-spacing:0.12em;margin:0 0 20px;}\n.rr-term-dark .rr-td-sec{font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700;letter-spacing:0.08em;color:#fff;text-transform:uppercase;margin:22px 0 12px;padding:7px 12px;border-left:3px solid #ff2aac;border-bottom:1px solid #6b21a8;background:linear-gradient(90deg,rgba(107,33,168,0.55) 0%,rgba(107,33,168,0) 100%);}\n.rr-term-dark .rr-td-sec:first-of-type{margin-top:4px;}\n.rr-term-dark .rr-td-copy{font-family:'Montserrat',sans-serif;font-size:15px;line-height:1.65;color:#e9d5ff;margin:0;}\n.rr-term-dark .rr-td-table{width:100%;border-collapse:collapse;}\n.rr-term-dark .rr-td-table td{padding:10px 12px;border-bottom:1px solid rgba(107,33,168,0.35);vertical-align:top;}\n.rr-term-dark .rr-td-table tr{border-left:3px solid transparent;transition:border-color .15s ease,background .15s ease;}\n.rr-term-dark .rr-td-table tr:hover{border-left:3px solid #ff2aac;background:rgba(107,33,168,0.12);}\n.rr-term-dark .rr-td-label{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:600;letter-spacing:0.06em;color:#c084fc;text-transform:uppercase;white-space:nowrap;width:1%;}\n.rr-term-dark .rr-td-val{font-family:'Montserrat',sans-serif;font-size:15px;font-weight:600;color:#fff;}\n.rr-term-dark .rr-td-detail{font-family:'Montserrat',sans-serif;font-size:14px;font-weight:400;color:rgba(233,213,255,0.6);margin-left:8px;}\n.rr-term-dark .rr-td-badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:6px;}\n.rr-term-dark .rr-td-badge{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;padding:6px 12px;border-radius:5px;border:1px solid #6b21a8;color:#e9d5ff;background:rgba(107,33,168,0.18);}\n.rr-term-dark .rr-td-badge.hot{border-color:#ff2aac;color:#fff;background:rgba(255,42,172,0.18);}\n.rr-term-dark .rr-td-badge.res{border-color:#38bdf8;color:#e0f2fe;background:rgba(56,189,248,0.14);}\n.rr-term-dark .rr-td-footer{margin-top:22px;padding-top:14px;border-top:1px solid #6b21a8;font-size:12px;letter-spacing:0.06em;color:rgba(233,213,255,0.7);}\n.rr-term-dark .rr-td-footer .ok{color:#4ade80;}\n.rr-term-dark .rr-fps-ctrlwrap{display:flex;align-items:center;gap:16px;margin:0 0 18px;flex-wrap:wrap;}\n.rr-term-dark .rr-fps-toggles{display:flex;flex-direction:column;gap:8px;}\n.rr-term-dark .rr-fps-group{display:flex;gap:5px;flex-wrap:wrap;}\n.rr-term-dark button.rr-fps-resbtn{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:6px 14px;border:1.5px solid rgba(168,85,247,0.6);background-color:transparent;color:#d8b4fe;cursor:pointer;border-radius:3px;transition:all .15s;}\n.rr-term-dark button.rr-fps-resbtn:hover{background-color:rgba(168,85,247,0.12);color:#fff;}\n.rr-term-dark button.rr-fps-resbtn.active{background-color:#a855f7;color:#16091f;border-color:#a855f7;box-shadow:0 0 12px rgba(168,85,247,0.5);}\n.rr-term-dark button.rr-fps-qbtn{font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:5px 12px;border:1px solid rgba(168,85,247,0.4);background-color:transparent;color:#c084fc;cursor:pointer;border-radius:3px;transition:all .15s;}\n.rr-term-dark button.rr-fps-qbtn:hover{background-color:rgba(168,85,247,0.1);color:#fff;}\n.rr-term-dark button.rr-fps-qbtn.active{background-color:rgba(168,85,247,0.18);color:#fff;border-color:rgba(168,85,247,0.7);}\n.rr-term-dark button.rr-fps-fgbtn{width:80px;height:80px;border-radius:50%;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;border:2px solid #ff2aac;background-color:transparent;color:#ff2aac;cursor:pointer;transition:all .15s;}\n.rr-term-dark button.rr-fps-fgbtn .bolt{font-size:20px;line-height:1;}\n.rr-term-dark button.rr-fps-fgbtn .lbl{font-size:11px;line-height:1.05;}\n.rr-term-dark button.rr-fps-fgbtn:hover{background-color:rgba(255,42,172,0.12);color:#fff;}\n.rr-term-dark button.rr-fps-fgbtn.active{background-color:#ff2aac;color:#16091f;box-shadow:0 0 18px rgba(255,42,172,0.6);}\n.rr-term-dark .rr-fps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}\n.rr-term-dark .rr-fps-gauge{display:flex;flex-direction:column;align-items:center;gap:8px;background:rgba(107,33,168,0.08);border:1px solid rgba(107,33,168,0.35);border-radius:6px;padding:12px 4px 14px;min-width:0;}\n.rr-term-dark .rr-fps-gauge canvas{display:block;width:100%;height:auto;max-width:160px;}\n.rr-term-dark .rr-fps-name{font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700;letter-spacing:0.03em;text-transform:uppercase;color:#e9d5ff;text-align:center;line-height:1.15;min-height:2.3em;}\n.rr-term-dark .rr-fps-badge{font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:3px 14px;border-radius:3px;text-align:center;white-space:nowrap;margin-top:auto;}\n@media(max-width:560px){.rr-term-dark .rr-fps-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}}\n\u003c\/style\u003e\n\n\u003cdiv class=\"rr-term-dark\"\u003e\n  \u003cdiv class=\"rr-td-scan\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"rr-td-titlebar\"\u003e\n    \u003cdiv class=\"rr-td-dots\"\u003e\n\u003cspan class=\"rr-td-dot d1\"\u003e\u003c\/span\u003e\u003cspan class=\"rr-td-dot d2\"\u003e\u003c\/span\u003e\u003cspan class=\"rr-td-dot d3\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"rr-td-tbtitle\"\u003eSYSTEM_SPECS.EXE\u003cspan class=\"rr-td-tbcursor\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rr-td-body\"\u003e\n    \u003cspan class=\"rr-td-hud tl\"\u003e\u003c\/span\u003e\u003cspan class=\"rr-td-hud tr\"\u003e\u003c\/span\u003e\u003cspan class=\"rr-td-hud bl\"\u003e\u003c\/span\u003e\u003cspan class=\"rr-td-hud br\"\u003e\u003c\/span\u003e\n\n    \u003ch2 class=\"rr-td-heading\"\u003e\n\u003cspan class=\"rr-td-type\" data-text=\"RX 9070 \/\/ 4K GAMING PC\"\u003e\u003c\/span\u003e\u003cspan class=\"rr-td-hcursor\"\u003e\u003c\/span\u003e\n\u003c\/h2\u003e\n    \u003cp class=\"rr-td-sub\"\u003eRYZEN 9700X · 32GB DDR5 · 1TB NVMe · OPEN BOX\u003c\/p\u003e\n\n    \u003cdiv class=\"rr-td-sec\"\u003e\/\/ 01 OVERVIEW\u003c\/div\u003e\n    \u003cp class=\"rr-td-copy\"\u003eA genuine 4K powerhouse. The RX 9070 brings 16GB of GDDR6 and RDNA4 efficiency to the table, paired with the 8-core Ryzen 7 9700X for a build that doesn't flinch at high refresh 1440p or serious 4K. FSR and AFMF Frame Gen keep the esports titles flying too. Fully inspected, stress tested and backed by our warranty. Plug in and play.\u003c\/p\u003e\n\n    \u003cdiv class=\"rr-td-sec\"\u003e\/\/ 02 HARDWARE MANIFEST\u003c\/div\u003e\n    \u003ctable class=\"rr-td-table\"\u003e\n      \u003ctr\u003e\n\u003ctd class=\"rr-td-label\"\u003eGPU\u003c\/td\u003e\n\u003ctd\u003e\n\u003cspan class=\"rr-td-val\"\u003eSapphire RX 9070 Nitro+\u003c\/span\u003e\u003cspan class=\"rr-td-detail\"\u003e16GB GDDR6\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003ctd class=\"rr-td-label\"\u003eCPU\u003c\/td\u003e\n\u003ctd\u003e\n\u003cspan class=\"rr-td-val\"\u003eAMD Ryzen 7 9700X\u003c\/span\u003e\u003cspan class=\"rr-td-detail\"\u003e8C \/ 16T · Zen 5\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003ctd class=\"rr-td-label\"\u003eAIO\u003c\/td\u003e\n\u003ctd\u003e\n\u003cspan class=\"rr-td-val\"\u003eDeepcool LE360 V2\u003c\/span\u003e\u003cspan class=\"rr-td-detail\"\u003e360mm radiator · Black\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003ctd class=\"rr-td-label\"\u003eRAM\u003c\/td\u003e\n\u003ctd\u003e\n\u003cspan class=\"rr-td-val\"\u003eCrucial 32GB DDR5\u003c\/span\u003e\u003cspan class=\"rr-td-detail\"\u003e2×16GB @ 5600MHz\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003ctd class=\"rr-td-label\"\u003eBoard\u003c\/td\u003e\n\u003ctd\u003e\n\u003cspan class=\"rr-td-val\"\u003eGigabyte X670 Aorus Elite AX\u003c\/span\u003e\u003cspan class=\"rr-td-detail\"\u003eAM5 · WiFi\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003ctd class=\"rr-td-label\"\u003eStorage\u003c\/td\u003e\n\u003ctd\u003e\n\u003cspan class=\"rr-td-val\"\u003eCrucial P310 1TB\u003c\/span\u003e\u003cspan class=\"rr-td-detail\"\u003ePCIe Gen4 NVMe SSD\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003ctd class=\"rr-td-label\"\u003ePSU\u003c\/td\u003e\n\u003ctd\u003e\n\u003cspan class=\"rr-td-val\"\u003eCooler Master MWE Gold V3\u003c\/span\u003e\u003cspan class=\"rr-td-detail\"\u003e750W · 80 Plus Gold\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003ctd class=\"rr-td-label\"\u003eCase\u003c\/td\u003e\n\u003ctd\u003e\n\u003cspan class=\"rr-td-val\"\u003ePhanteks NV5\u003c\/span\u003e\u003cspan class=\"rr-td-detail\"\u003eBlack\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003ctd class=\"rr-td-label\"\u003eOS\u003c\/td\u003e\n\u003ctd\u003e\n\u003cspan class=\"rr-td-val\"\u003eWindows 11 Pro\u003c\/span\u003e\u003cspan class=\"rr-td-detail\"\u003eactivated\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003c\/table\u003e\n\n    \u003cdiv class=\"rr-td-sec\"\u003e\/\/ 03 PERFORMANCE\u003c\/div\u003e\n    \u003cdiv class=\"rr-fps-ctrlwrap\"\u003e\n      \u003cbutton class=\"rr-fps-fgbtn\" id=\"rrFpsFg\"\u003e\u003cspan class=\"bolt\"\u003e⚡\u003c\/span\u003e\u003cspan class=\"lbl\"\u003eFrame\u003c\/span\u003e\u003cspan class=\"lbl\"\u003eGen\u003c\/span\u003e\u003c\/button\u003e\n      \u003cdiv class=\"rr-fps-toggles\"\u003e\n        \u003cdiv class=\"rr-fps-group\"\u003e\n          \u003cbutton class=\"rr-fps-resbtn active\" data-res=\"0\"\u003e1080p\u003c\/button\u003e\n          \u003cbutton class=\"rr-fps-resbtn\" data-res=\"1\"\u003e1440p\u003c\/button\u003e\n          \u003cbutton class=\"rr-fps-resbtn\" data-res=\"2\"\u003e4K\u003c\/button\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"rr-fps-group\"\u003e\n          \u003cbutton class=\"rr-fps-qbtn\" data-q=\"0\"\u003eLOW\u003c\/button\u003e\n          \u003cbutton class=\"rr-fps-qbtn\" data-q=\"1\"\u003eMED\u003c\/button\u003e\n          \u003cbutton class=\"rr-fps-qbtn active\" data-q=\"2\"\u003eHIGH\u003c\/button\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rr-fps-grid\" id=\"rrFpsGrid\"\u003e\u003c\/div\u003e\n    \u003cp class=\"rr-td-copy\" style=\"font-size:11px;color:rgba(233,213,255,0.4);margin-top:10px;font-family:'Share Tech Mono',monospace;\"\u003e\/\/ FPS ESTIMATES — ACTUAL PERFORMANCE VARIES BY SETTINGS, DRIVERS \u0026amp; TITLE VERSION. FRAME GEN VIA FSR \/ AFMF.\u003c\/p\u003e\n\n    \u003cdiv class=\"rr-td-sec\"\u003e\/\/ 04 CONDITION \u0026amp; WARRANTY\u003c\/div\u003e\n    \u003cp class=\"rr-td-copy\" style=\"margin-bottom:14px;\"\u003eFully inspected and tested open box unit, stress tested and benchmarked before dispatch. Backed by our 12 month warranty.\u003c\/p\u003e\n    \u003cdiv class=\"rr-td-badges\"\u003e\n      \u003cspan class=\"rr-td-badge hot\"\u003eOpen Box\u003c\/span\u003e\n      \u003cspan class=\"rr-td-badge \"\u003e12 Month Warranty\u003c\/span\u003e\n      \u003cspan class=\"rr-td-badge \"\u003ePlug \u0026amp; Play\u003c\/span\u003e\n      \u003cspan class=\"rr-td-badge \"\u003eStress Tested\u003c\/span\u003e\n      \u003cspan class=\"rr-td-badge res\"\u003e1440P\u003c\/span\u003e\n      \u003cspan class=\"rr-td-badge res\"\u003e4K\u003c\/span\u003e\n      \u003cspan class=\"rr-td-badge \"\u003eWiFi\u003c\/span\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"rr-td-footer\"\u003eSYS_STATUS: TESTED \u003cspan class=\"ok\"\u003e✓\u003c\/span\u003e · BENCHED \u003cspan class=\"ok\"\u003e✓\u003c\/span\u003e · READY \u003cspan class=\"ok\"\u003e✓\u003c\/span\u003e \/\/ REFORGED RIGS\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n  var cards=document.querySelectorAll('.rr-term-dark');var card=cards[cards.length-1];\n  var el=card.querySelector('.rr-td-type'),hc=card.querySelector('.rr-td-hcursor');\n  if(el\u0026\u0026!el.dataset.rrDone){el.dataset.rrDone='1';var full=el.getAttribute('data-text')||'',i=0;(function tk(){el.textContent=full.slice(0,i);if(i\u003c=full.length){i++;setTimeout(tk,38);}else if(hc){setTimeout(function(){hc.classList.add('done');},1400);}})();}\n\n  var games=[{\"name\": \"Cyberpunk 2077\", \"fps\": [[155, 125, 92], [115, 92, 68], [64, 50, 38]], \"fg\": [[287, 231, 170], [213, 170, 126], [118, 93, 70]]}, {\"name\": \"Alan Wake 2\", \"fps\": [[130, 102, 76], [92, 74, 54], [50, 40, 30]], \"fg\": [[241, 189, 141], [170, 137, 100], [93, 74, 56]]}, {\"name\": \"Black Myth Wukong\", \"fps\": [[120, 95, 68], [85, 66, 48], [44, 35, 26]], \"fg\": [[222, 176, 126], [157, 122, 89], [81, 65, 48]]}, {\"name\": \"COD Warzone\", \"fps\": [[195, 160, 125], [150, 120, 95], [88, 70, 52]], \"fg\": [[341, 280, 219], [263, 210, 166], [154, 123, 91]]}];\n  games.forEach(function(g){if(g.fg\u0026\u0026!g.fgFps)g.fgFps=g.fg;});\n\n  var MAX=360,grid=card.querySelector('#rrFpsGrid'),fgBtn=card.querySelector('#rrFpsFg');\n  if(!grid)return;\n  var cRes=0,cQ=2,fg=false,states=[],DPR=Math.max(window.devicePixelRatio||1,2);var CW=160,CH=158;\n  function tier(f){if(f\u003e200)return'EPIC';if(f\u003e=144)return'EXCELLENT';if(f\u003e=60)return'SOLID';return'LOW';}\n  function tc(t){if(t==='EPIC')return{arc:'#ff2aac',ndl:'#ff2aac',glow:'rgba(255,42,172,0.5)',bg:'rgba(255,42,172,0.18)',bt:'#ff7ed0',num:'#ff2aac'};if(t==='EXCELLENT')return{arc:'#a855f7',ndl:'#c084fc',glow:'rgba(168,85,247,0.4)',bg:'rgba(168,85,247,0.18)',bt:'#d8b4fe',num:'#c084fc'};if(t==='SOLID')return{arc:'#7dd3fc',ndl:'#bae6fd',glow:'rgba(125,211,252,0.3)',bg:'rgba(125,211,252,0.15)',bt:'#bae6fd',num:'#9bd9f9'};return{arc:'#f87171',ndl:'#fca5a5',glow:'rgba(248,113,113,0.35)',bg:'rgba(248,113,113,0.18)',bt:'#fca5a5',num:'#fca5a5'};}\n  function draw(ctx,fps,t){var W=CW,H=CH,cx=W\/2,cy=H*0.44,R=W*0.36,sA=Math.PI*0.75,eA=Math.PI*2.25,tA=eA-sA,c=tc(t);ctx.clearRect(0,0,W,H);ctx.strokeStyle='rgba(168,85,247,0.06)';ctx.lineWidth=0.5;for(var x=0;x\u003cW;x+=12){ctx.beginPath();ctx.moveTo(x,0);ctx.lineTo(x,H);ctx.stroke();}for(var y=0;y\u003cH;y+=12){ctx.beginPath();ctx.moveTo(0,y);ctx.lineTo(W,y);ctx.stroke();}ctx.beginPath();ctx.arc(cx,cy,R,sA,eA);ctx.strokeStyle='rgba(168,85,247,0.15)';ctx.lineWidth=8;ctx.lineCap='round';ctx.stroke();var fr=Math.min(fps\/MAX,1);ctx.save();ctx.shadowColor=c.glow;ctx.shadowBlur=12;ctx.beginPath();ctx.arc(cx,cy,R,sA,sA+tA*fr);ctx.strokeStyle=c.arc;ctx.lineWidth=8;ctx.lineCap='round';ctx.stroke();ctx.restore();for(var i=0;i\u003c=8;i++){var a=sA+(tA\/8)*i,m=i%2===0;ctx.beginPath();ctx.moveTo(cx+Math.cos(a)*(R+(m?10:6)),cy+Math.sin(a)*(R+(m?10:6)));ctx.lineTo(cx+Math.cos(a)*(R+2),cy+Math.sin(a)*(R+2));ctx.strokeStyle=m?'rgba(232,213,255,0.5)':'rgba(232,213,255,0.2)';ctx.lineWidth=m?1.5:0.75;ctx.stroke();if(m){ctx.fillStyle='rgba(232,213,255,0.38)';ctx.font='bold 7.5px Barlow Condensed,sans-serif';ctx.textAlign='center';ctx.textBaseline='middle';ctx.fillText(Math.round((MAX\/8)*i),cx+Math.cos(a)*(R+19),cy+Math.sin(a)*(R+19));}}var na=sA+tA*fr;ctx.save();ctx.translate(cx,cy);ctx.rotate(na);ctx.shadowColor=c.glow;ctx.shadowBlur=6;ctx.beginPath();ctx.moveTo(-5,0);ctx.lineTo(R*0.82,0);ctx.strokeStyle=c.ndl;ctx.lineWidth=2.5;ctx.lineCap='round';ctx.stroke();ctx.restore();ctx.beginPath();ctx.arc(cx,cy,4.5,0,Math.PI*2);ctx.fillStyle=c.ndl;ctx.fill();ctx.beginPath();ctx.arc(cx,cy,2,0,Math.PI*2);ctx.fillStyle='#16091f';ctx.fill();ctx.save();ctx.shadowColor=c.glow;ctx.shadowBlur=14;ctx.font='700 34px Barlow Condensed,sans-serif';ctx.fillStyle=c.num;ctx.textAlign='center';ctx.textBaseline='middle';ctx.fillText(fps\u003e=MAX?'360+':Math.round(fps),cx,H*0.76);ctx.restore();ctx.font='700 15px Barlow Condensed,sans-serif';ctx.fillStyle='rgba(232,213,255,0.7)';ctx.textAlign='center';ctx.textBaseline='middle';ctx.fillText('FPS',cx,H*0.89);}\n  function aTo(idx,target){var st=states[idx];if(st.raf)cancelAnimationFrame(st.raf);var from=st.cur,t=tier(target),start=null,cap=Math.min(target,MAX);function tk(ts){if(!start)start=ts;var p=Math.min((ts-start)\/600,1);var e=p\u003c0.5?2*p*p:-1+(4-2*p)*p;var f=from+(cap-from)*e;draw(st.ctx,f,tier(f));var k=tc(t);st.bd.style.background=k.bg;st.bd.style.color=k.bt;st.bd.textContent=t;if(p\u003c1){st.raf=requestAnimationFrame(tk);}else{st.cur=cap;}}st.raf=requestAnimationFrame(tk);}\n  function build(){states.length=0;grid.innerHTML='';games.forEach(function(g,idx){var fps=fg?g.fgFps[cRes][cQ]:g.fps[cRes][cQ];var t=tier(fps),k=tc(t);var w=document.createElement('div');w.className='rr-fps-gauge';var cv=document.createElement('canvas');cv.width=CW*DPR;cv.height=CH*DPR;cv.style.width=CW+'px';cv.style.height=CH+'px';var ctx=cv.getContext('2d');ctx.scale(DPR,DPR);var nm=document.createElement('div');nm.className='rr-fps-name';nm.textContent=g.name;var bd=document.createElement('div');bd.className='rr-fps-badge';bd.style.background=k.bg;bd.style.color=k.bt;bd.textContent=t;w.appendChild(cv);w.appendChild(nm);w.appendChild(bd);grid.appendChild(w);states[idx]={ctx:ctx,cur:0,raf:null,bd:bd};var target=Math.min(fps,MAX);draw(ctx,target,tier(target));states[idx].cur=target;var start=null;(function ia(ts){if(!start)start=ts;var p=Math.min((ts-start)\/1200,1),ef=1-Math.pow(1-p,3);draw(ctx,target*ef,tier(target*ef));if(p\u003c1)requestAnimationFrame(ia);})();});try{if('IntersectionObserver' in window){var seen=false;var io=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting\u0026\u0026!seen){seen=true;states.forEach(function(st){st.cur=0;});upd();}});},{threshold:0.25});io.observe(grid);}}catch(e){}}\n  function upd(){games.forEach(function(g,idx){aTo(idx,fg?g.fgFps[cRes][cQ]:g.fps[cRes][cQ]);});}\n  card.querySelectorAll('.rr-fps-resbtn').forEach(function(b){b.addEventListener('click',function(){cRes=parseInt(b.dataset.res,10);card.querySelectorAll('.rr-fps-resbtn').forEach(function(x){x.classList.remove('active');});b.classList.add('active');upd();});});\n  card.querySelectorAll('.rr-fps-qbtn').forEach(function(b){b.addEventListener('click',function(){cQ=parseInt(b.dataset.q,10);card.querySelectorAll('.rr-fps-qbtn').forEach(function(x){x.classList.remove('active');});b.classList.add('active');upd();});});\n  fgBtn.addEventListener('click',function(){fg=!fg;fgBtn.classList.toggle('active',fg);upd();});\n  build();\n})();\n\u003c\/script\u003e\n","brand":"Reforged Rigs","offers":[{"title":"Default Title","offer_id":47591416299651,"sku":null,"price":3399.0,"currency_code":"NZD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0553\/8512\/9091\/files\/MG_1810-Edit.jpg?v=1784185466","url":"https:\/\/www.reforged.nz\/products\/rx-9070-ryzen-9700x-32gb-1tb-gaming-pc","provider":"Reforged Rigs","version":"1.0","type":"link"}