{"product_id":"factory-manager","title":"Factory Manager","description":"\u003cdiv class=\"pgfm1-wrap\"\u003e\n\n  \u003cdiv class=\"pgfm1-hero\"\u003e\n\n    \u003cdiv class=\"pgfm1-hero-content\"\u003e\n\n      \u003cp class=\"pgfm1-kicker\"\u003eFroGames — Moments You'll Remember\u003c\/p\u003e\n\n      \u003cp class=\"pgfm1-sub\"\u003eSome buy the most powerful machine. Some count their workers. Then the energy bill arrives, and the accounts change for everyone.\u003c\/p\u003e\n\n      \u003cdiv class=\"pgfm1-chips\"\u003e\n\n\u003cspan class=\"pgfm1-chip pgfm1-chip--accent\"\u003eStrategy\u003c\/span\u003e\u003cspan class=\"pgfm1-chip\"\u003eRio Grande Games\u003c\/span\u003e\u003cspan class=\"pgfm1-chip\"\u003eFriedemann Friese\u003c\/span\u003e\u003cspan class=\"pgfm1-chip\"\u003ePower Grid Universe\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"pgfm1-specs-bar\"\u003e\n\n    \u003cdiv class=\"pgfm1-specs\"\u003e\n\n      \u003cdiv class=\"pgfm1-spec\"\u003e\n\n        \u003cspan class=\"pgfm1-spec-icon\"\u003e👥\u003c\/span\u003e\n        \u003cspan class=\"pgfm1-spec-label\"\u003ePlayers\u003c\/span\u003e\n        \u003cspan class=\"pgfm1-spec-val\"\u003e2 – 5\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"pgfm1-spec\"\u003e\n\n        \u003cspan class=\"pgfm1-spec-icon\"\u003e⏱️\u003c\/span\u003e\n        \u003cspan class=\"pgfm1-spec-label\"\u003eDuration\u003c\/span\u003e\n        \u003cspan class=\"pgfm1-spec-val\"\u003e60 min\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"pgfm1-spec\"\u003e\n\n        \u003cspan class=\"pgfm1-spec-icon\"\u003e🎂\u003c\/span\u003e\n        \u003cspan class=\"pgfm1-spec-label\"\u003eAge\u003c\/span\u003e\n        \u003cspan class=\"pgfm1-spec-val\"\u003e12+ years\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"pgfm1-spec\"\u003e\n\n        \u003cspan class=\"pgfm1-spec-icon\"\u003e🎲\u003c\/span\u003e\n        \u003cspan class=\"pgfm1-spec-label\"\u003eMechanic\u003c\/span\u003e\n        \u003cspan class=\"pgfm1-spec-val\"\u003eManagement \u0026amp; Market\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"pgfm1-spec\"\u003e\n\n        \u003cspan class=\"pgfm1-spec-icon\"\u003e🏭\u003c\/span\u003e\n        \u003cspan class=\"pgfm1-spec-label\"\u003eTheme\u003c\/span\u003e\n        \u003cspan class=\"pgfm1-spec-val\"\u003eFactory Management\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"pgfm1-spec\"\u003e\n\n        \u003cspan class=\"pgfm1-spec-icon\"\u003e📊\u003c\/span\u003e\n        \u003cspan class=\"pgfm1-spec-label\"\u003eComplexity\u003c\/span\u003e\n        \u003cspan class=\"pgfm1-spec-val\"\u003eMedium (3\/5)\u003c\/span\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"pgfm1-body\"\u003e\n\n    \u003cdiv class=\"pgfm1-intro-grid\"\u003e\n\n      \u003cdiv class=\"pgfm1-intro-text\"\u003e\n\n        \u003cp class=\"pgfm1-label\"\u003eWHAT IT'S ABOUT\u003c\/p\u003e\n\n        \u003ch3 class=\"pgfm1-h3\"\u003eA factory, many workers, and a relentless bill\u003c\/h3\u003e\n\n        \u003cp class=\"pgfm1-p\"\u003e\u003cstrong\u003ePower Grid: Factory Manager\u003c\/strong\u003e is a management board game set in the Power Grid universe, but completely independent. Designed by \u003cstrong\u003eFriedemann Friese\u003c\/strong\u003e with retro illustrations by Lars-Arne \"Maura\" Kalusky, it puts you in charge of a factory with one goal: to earn more than everyone else.\u003c\/p\u003e\n\n        \u003cp class=\"pgfm1-p\"\u003eYou use your workers to buy the best machines and robots from the market, organize them in the limited factory space, and make them produce at maximum capacity. But the price of energy \u003cstrong\u003erises every round\u003c\/strong\u003e: a too-greedy factory can see profits suddenly vanish — every good entrepreneur's nightmare. In Power Grid: Factory Manager, the winner is the efficient one, not the one who produces the most.\u003c\/p\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"pgfm1-intro-side\"\u003e\n\n        \u003cp class=\"pgfm1-quote-header\"\u003eThe secret of Factory Manager\u003c\/p\u003e\n\n        \u003cdiv class=\"pgfm1-quote-solo\"\u003e\n\n          \u003cspan class=\"pgfm1-qs-icon\"\u003e⚡\u003c\/span\u003e\n          \u003cp class=\"pgfm1-qs-text\"\u003eIt's not how much you produce, but how much energy it costs you: the biggest factory can be the least profitable.\u003c\/p\u003e\n\n          \u003cp class=\"pgfm1-qs-note\"\u003eThe secret of Factory Manager in one sentence\u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"pgfm1-quote-solo pgfm1-quote-solo--alt\"\u003e\n\n          \u003cspan class=\"pgfm1-qs-icon\"\u003e⏱️\u003c\/span\u003e\n          \u003cp class=\"pgfm1-qs-text\"\u003eKeep few workers and play first, keep many and do more: each round is a small dilemma.\u003c\/p\u003e\n\n          \u003cp class=\"pgfm1-qs-note\"\u003eFrom the game experience\u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"pgfm1-divider\"\u003e\u003c\/div\u003e\n\n    \u003cdiv class=\"pgfm1-fs\"\u003e\n\n      \u003cdiv class=\"pgfm1-fs-header\"\u003e\n\n        \u003cdiv class=\"pgfm1-fs-brand\"\u003e\n\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/FROG_FAVICON.webp?v=1774174794\" alt=\"FroGames\" class=\"pgfm1-fs-frog-img\"\u003e\n          \u003cdiv\u003e\n\n            \u003cspan class=\"pgfm1-fs-brand-label\"\u003eFrogScore · frogames.business\u003c\/span\u003e\n            \u003cp class=\"pgfm1-fs-game-name\"\u003ePower Grid: Factory Manager\u003c\/p\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n        \u003cspan class=\"pgfm1-fs-cat\" style=\"background:#eaf3de;border-color:#80b050;color:#2a5010\"\u003eStrategy · Economic\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"pgfm1-fs-body\"\u003e\n\n        \u003cdiv class=\"pgfm1-fs-radar-panel\"\u003e\n\n          \u003csvg id=\"pgfm1-fs-svg\" viewbox=\"0 0 320 320\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"overflow:visible\"\u003e\u003c\/svg\u003e\n          \u003cdiv class=\"pgfm1-fs-tip\" id=\"pgfm1-fs-tip\"\u003e\u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"pgfm1-fs-info\"\u003e\n\n          \u003cspan class=\"pgfm1-fs-feel-lbl\"\u003eThe experience\u003c\/span\u003e\n          \u003cdiv class=\"pgfm1-fs-feeling\"\u003e\n\n\u003cspan class=\"pgfm1-fs-feel-tag\"\u003eThoughtful\u003c\/span\u003e\u003cspan class=\"pgfm1-fs-feel-tag\"\u003eCalculated\u003c\/span\u003e\u003cspan class=\"pgfm1-fs-feel-tag\"\u003eRewarding\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n          \u003cspan class=\"pgfm1-fs-section-label\"\u003eWho it's for\u003c\/span\u003e\n          \u003cdiv class=\"pgfm1-fs-targets\"\u003e\n\n\u003cdiv class=\"pgfm1-fs-target pgfm1-fs-si\"\u003e\n\n\u003cspan\u003e🎯\u003c\/span\u003eExperts\u003c\/div\u003e\n\n\u003cdiv class=\"pgfm1-fs-target pgfm1-fs-no\"\u003e\n\n\u003cspan\u003e🌱\u003c\/span\u003eGateway\u003c\/div\u003e\n\n\u003cdiv class=\"pgfm1-fs-target pgfm1-fs-no\"\u003e\n\n\u003cspan\u003e🎲\u003c\/span\u003eFamily game\u003c\/div\u003e\n\n\u003cdiv class=\"pgfm1-fs-target pgfm1-fs-no\"\u003e\n\n\u003cspan\u003e🍕\u003c\/span\u003eParty\u003c\/div\u003e\n\n\u003cdiv class=\"pgfm1-fs-target pgfm1-fs-no\"\u003e\n\n\u003cspan\u003e🧘\u003c\/span\u003eSolitaire\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n          \u003cdiv class=\"pgfm1-fs-verdict\"\u003e\n\n            \u003cdiv class=\"pgfm1-fs-verdict-title\"\u003eIn summary\u003c\/div\u003e\n\n            \u003cdiv class=\"pgfm1-fs-verdict-text\"\u003eA dry and elegant economic management game: few rules, dense decisions. You optimize a factory with machines, robots, and energy, and every move impacts the final profit. For those who love economic puzzles on the tabletop — not a party game.\u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"pgfm1-fs-footer\"\u003e\n\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/FROG_FAVICON.webp?v=1774174794\" alt=\"FroGames\" class=\"pgfm1-fs-footer-frog\"\u003e FrogScore · FroGames editorial rating · based on rules, international reviews and game sessions\u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cscript\u003e\n    (function(){\n      var PI2=Math.PI*2;\n      var dims=[{\"label\": \"Strategia\", \"value\": 4, \"note\": \"Ottimizzi acquisti, spazio in fabbrica e consumo di energia: ogni decisione pesa sul profitto finale.\"}, {\"label\": \"Profondità\", \"value\": 4, \"note\": \"Pochi pezzi, molte combinazioni: l'efficienza nasce da come incastri macchine, robot e operai.\"}, {\"label\": \"Complessità\", \"value\": 3, \"note\": \"Regole medie (peso 3\/5 su BGG), ma il vero peso è leggere il mercato e l'ordine di turno.\"}, {\"label\": \"Interazione\", \"value\": 3, \"note\": \"Non vi attaccate, ma vi contendete le tessere migliori e l'ordine di gioco conta moltissimo.\"}, {\"label\": \"Fortuna\", \"value\": 2, \"note\": \"Il mercato offre scelte variabili, ma a decidere è quasi sempre la tua gestione.\"}];\n      var accent='#4F6B1A';\n      var VB=320,CX=160,CY=160,R=74;\n      var n=dims.length,step=PI2\/n,off=-Math.PI\/2;\n      var svg=document.getElementById('pgfm1-fs-svg');\n      var tip=document.getElementById('pgfm1-fs-tip');\n      if(!svg) return;\n      var ns='http:\/\/www.w3.org\/2000\/svg';\n      function pt(r,i){return[CX+r*Math.cos(off+i*step),CY+r*Math.sin(off+i*step)];}\n      function el(tag,attrs){\n        var e=document.createElementNS(ns,tag);\n        Object.keys(attrs).forEach(function(k){e.setAttribute(k,attrs[k]);});\n        return e;\n      }\n      var st=document.createElement('style');\n      st.textContent='@keyframes pgfm1-draw{to{stroke-dashoffset:0}}@keyframes pgfm1-fade{to{opacity:1}}';\n      document.head.appendChild(st);\n      for(var ring=1;ring\u003c=5;ring++){\n        var rr=R*(ring\/5);\n        var pts=dims.map(function(_,i){var p=pt(rr,i);return p[0].toFixed(1)+','+p[1].toFixed(1);}).join(' ');\n        svg.appendChild(el('polygon',{points:pts,fill:'none',stroke:ring===5?'#c0b8b0':'#ddd8d0','stroke-width':ring===5?'1':'0.5'}));\n      }\n      dims.forEach(function(_,i){\n        var p=pt(R,i);\n        svg.appendChild(el('line',{x1:CX,y1:CY,x2:p[0].toFixed(1),y2:p[1].toFixed(1),stroke:'#d0c8c0','stroke-width':'0.5'}));\n      });\n      var dpts=dims.map(function(d,i){var p=pt(R*(d.value\/5),i);return p[0].toFixed(1)+','+p[1].toFixed(1);}).join(' ');\n      var perim=dims.reduce(function(acc,d,i){\n        var p1=pt(R*(d.value\/5),i),p2=pt(R*(dims[(i+1)%n].value\/5),(i+1)%n);\n        return acc+Math.sqrt(Math.pow(p2[0]-p1[0],2)+Math.pow(p2[1]-p1[1],2));\n      },0);\n      var shape=el('polygon',{points:dpts,fill:accent+'1a',stroke:accent,'stroke-width':'2.5','stroke-linejoin':'round'});\n      shape.style.cssText='stroke-dasharray:'+perim.toFixed(0)+';stroke-dashoffset:'+perim.toFixed(0)+';animation:pgfm1-draw 0.9s ease-out 0.1s forwards';\n      svg.appendChild(shape);\n      dims.forEach(function(d,i){\n        var p=pt(R*(d.value\/5),i);\n        var angle=off+i*step;\n        var hit=el('circle',{cx:p[0].toFixed(1),cy:p[1].toFixed(1),r:'10',fill:'transparent',cursor:'pointer'});\n        (function(idx){\n          hit.addEventListener('mouseenter',function(e){\n            tip.innerHTML='\u003cstrong\u003e'+dims[idx].label+' '+dims[idx].value+'\/5\u003c\/strong\u003e\u003cbr\u003e'+dims[idx].note;\n            tip.style.display='block';\n            var rect=svg.parentElement.getBoundingClientRect();\n            var ex=e.clientX-rect.left, ey=e.clientY-rect.top;\n            tip.style.left=Math.min(ex+12,rect.width-220)+'px';\n            tip.style.top=Math.max(ey-55,4)+'px';\n          });\n          hit.addEventListener('mouseleave',function(){tip.style.display='none';});\n        })(i);\n        svg.appendChild(hit);\n        var c=el('circle',{cx:p[0].toFixed(1),cy:p[1].toFixed(1),r:'4.5',fill:accent,stroke:'white','stroke-width':'2'});\n        c.style.cssText='opacity:0;animation:pgfm1-fade 0.3s ease-out '+(0.8+i*0.07).toFixed(2)+'s forwards';\n        svg.appendChild(c);\n        var nd=R*(d.value\/5)+15;\n        var nx=CX+nd*Math.cos(angle),ny=CY+nd*Math.sin(angle);\n        var vt=el('text',{x:nx.toFixed(1),y:(ny+1).toFixed(1),'text-anchor':'middle','dominant-baseline':'middle','font-size':'10','font-weight':'800',fill:accent,'font-family':'-apple-system,sans-serif'});\n        vt.textContent=d.value;\n        vt.style.cssText='opacity:0;animation:pgfm1-fade 0.3s ease-out '+(0.85+i*0.07).toFixed(2)+'s forwards';\n        svg.appendChild(vt);\n      });\n      dims.forEach(function(d,i){\n        var angle=off+i*step;\n        var lx=CX+(R+40)*Math.cos(angle),ly=CY+(R+40)*Math.sin(angle);\n        var anchor='middle';\n        if(Math.cos(angle)\u003e0.2) anchor='start';\n        else if(Math.cos(angle)\u003c-0.2) anchor='end';\n        var dy=Math.sin(angle)\u003e0.6?7:Math.sin(angle)\u003c-0.6?-5:0;\n        var isHi=d.value\u003e=4;\n        var t=el('text',{x:lx.toFixed(1),y:(ly+dy).toFixed(1),'text-anchor':anchor,'dominant-baseline':'middle','font-size':isHi?'12':'11','font-weight':'700',fill:'#1a1208','font-family':'-apple-system,sans-serif'});\n        t.textContent=d.label;\n        svg.appendChild(t);\n      });\n    })();\n    \u003c\/script\u003e\n    \u003cdiv class=\"pgfm1-divider\"\u003e\u003c\/div\u003e\n\n    \u003cdiv class=\"pgfm1-section-pad\"\u003e\n\n      \u003cp class=\"pgfm1-label\"\u003eWhat you manage\u003c\/p\u003e\n\n      \u003ch3 class=\"pgfm1-h3\"\u003eYour factory, piece by piece\u003c\/h3\u003e\n\n      \u003cdiv class=\"pgfm1-cards\"\u003e\n\n        \u003cdiv class=\"pgfm1-card\"\u003e\n\n          \u003cspan class=\"pgfm1-card-icon\"\u003e🏭\u003c\/span\u003e\n          \u003ch4 class=\"pgfm1-card-name\"\u003eYour factory\u003c\/h4\u003e\n\n          \u003cp class=\"pgfm1-card-desc\"\u003eA limited space to arrange machines and robots. Each tile takes up space: efficiency comes from how you organize everything.\u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"pgfm1-card\"\u003e\n\n          \u003cspan class=\"pgfm1-card-icon\"\u003e🤖\u003c\/span\u003e\n          \u003ch4 class=\"pgfm1-card-name\"\u003eMachines and robots\u003c\/h4\u003e\n\n          \u003cp class=\"pgfm1-card-desc\"\u003eYou buy the best machines and robots that work instead of workers from the market. More productivity, but watch out for consumption.\u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"pgfm1-card\"\u003e\n\n          \u003cspan class=\"pgfm1-card-icon\"\u003e⚡\u003c\/span\u003e\n          \u003ch4 class=\"pgfm1-card-name\"\u003eThe price of energy\u003c\/h4\u003e\n\n          \u003cp class=\"pgfm1-card-desc\"\u003eEnergy costs rise round by round. A factory full of power-hungry machines can see its profit disappear in an instant.\u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"pgfm1-card\"\u003e\n\n          \u003cspan class=\"pgfm1-card-icon\"\u003e👷\u003c\/span\u003e\n          \u003ch4 class=\"pgfm1-card-name\"\u003eYour workers\u003c\/h4\u003e\n\n          \u003cp class=\"pgfm1-card-desc\"\u003eWorkers buy from the market and operate the machines. How many to use and when is one of the key choices each turn.\u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"pgfm1-closing\"\u003e\n\n      \u003cp class=\"pgfm1-closing-text\"\u003eAt the end of the game, money is counted. But the story you remember is that machine bought at the right time — or the energy that cost you the victory.\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\u003cstyle\u003e\n.pgfm1-wrap, .pgfm1-wrap * { box-sizing: border-box; margin: 0; padding: 0; }\n.pgfm1-wrap {\n  font-family: Georgia, 'Times New Roman', serif;\n  border-radius: 24px;\n  overflow: hidden;\n  box-shadow: 0 20px 60px rgba(0,0,0,0.32);\n  max-width: 1200px;\n  margin-left: auto;\n  margin-right: auto;\n  background: #1e2a12;\n}\n.pgfm1-hero {\n  background: linear-gradient(135deg, #1e2a12 0%, #2f3e1a 50%, #1e2a12 100%);\n  padding: 32px 26px 36px;\n  position: relative;\n  overflow: hidden;\n}\n.pgfm1-hero::before {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  background: radial-gradient(ellipse at top right, rgba(79,107,26,0.16) 0%, transparent 60%);\n  pointer-events: none;\n}\n.pgfm1-hero-content { position: relative; z-index: 2; }\n.pgfm1-kicker { display: block; color: #C68A3A; font-family: sans-serif; font-size: 0.7rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 10px; }\n.pgfm1-sub { color: rgba(255,255,255,0.88); font-family: Georgia, serif; font-size: 1rem; font-style: italic; line-height: 1.55; max-width: 580px; margin-bottom: 18px; }\n.pgfm1-chips { display: flex; flex-wrap: wrap; gap: 7px; }\n.pgfm1-chip { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.2); color: #fff; font-family: sans-serif; padding: 4px 12px; border-radius: 50px; font-size: 0.78rem; font-weight: 600; }\n.pgfm1-chip--accent { background: #4F6B1A; border-color: #4F6B1A; }\n.pgfm1-specs-bar { background: #16210e; padding: 0 24px; border-top: 1px solid rgba(255,255,255,0.06); }\n.pgfm1-specs { display: grid; grid-template-columns: repeat(3, 1fr); }\n.pgfm1-spec { padding: 13px 10px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; border-right: 1px solid rgba(255,255,255,0.07); border-bottom: 1px solid rgba(255,255,255,0.07); }\n.pgfm1-spec:nth-child(3n) { border-right: none; }\n.pgfm1-spec:nth-last-child(-n+3) { border-bottom: none; }\n.pgfm1-spec-icon { font-size: 1.2rem; }\n.pgfm1-spec-label { color: rgba(255,255,255,0.4); font-family: sans-serif; font-size: 0.6rem; text-transform: uppercase; letter-spacing: 1px; }\n.pgfm1-spec-val { color: #fff; font-family: sans-serif; font-size: 0.84rem; font-weight: 800; }\n.pgfm1-body { background: #F5EDD8; }\n.pgfm1-intro-grid { display: grid; grid-template-columns: 1fr; gap: 26px; padding: 36px 28px 8px; }\n.pgfm1-label { display: block; font-family: sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: #4F6B1A; margin-bottom: 7px; }\n.pgfm1-h3 { font-size: clamp(1.4rem, 2.5vw, 2.1rem); font-weight: 900; color: #1a0800; line-height: 1.15; margin-bottom: 16px; }\n.pgfm1-p { font-family: sans-serif; font-size: 0.95rem; color: #3d2810; margin-bottom: 13px; line-height: 1.65; max-width: 700px; }\n.pgfm1-quote-header { font-family: sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #4F6B1A; margin-bottom: 12px; }\n.pgfm1-quote-solo { background: #243016; border-radius: 14px; padding: 18px 20px; margin-bottom: 12px; border-left: 4px solid #C68A3A; }\n.pgfm1-quote-solo--alt { background: #2e3a1c; border-left-color: #4F6B1A; }\n.pgfm1-qs-icon { font-size: 1.4rem; display: block; margin-bottom: 8px; }\n.pgfm1-qs-text { color: #fff; font-style: italic; font-size: 0.9rem; line-height: 1.6; margin-bottom: 8px; font-family: Georgia, serif; }\n.pgfm1-qs-note { color: rgba(255,255,255,0.4); font-family: sans-serif; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }\n.pgfm1-divider { height: 1px; background: #d4c0a0; margin: 32px 28px 0; }\n.pgfm1-fs { background:#fff; border-top:1px solid #e0d8cc; border-bottom:1px solid #e0d8cc; }\n.pgfm1-fs-header { padding:14px 20px 13px; background:#fff; border-bottom:1px solid #e8e2da; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }\n.pgfm1-fs-brand { display:flex; align-items:center; gap:9px; }\n.pgfm1-fs-frog-img { width:28px; height:28px; object-fit:contain; flex-shrink:0; }\n.pgfm1-fs-footer-frog { width:16px; height:16px; object-fit:contain; vertical-align:middle; margin-right:2px; }\n.pgfm1-fs-brand-label { display:block; font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; }\n.pgfm1-fs-game-name { font-family:sans-serif; font-size:14px; font-weight:700; color:#1a1208; margin-top:2px; }\n.pgfm1-fs-cat { font-family:sans-serif; font-size:10px; padding:3px 11px; border-radius:50px; font-weight:700; border:1.5px solid; white-space:nowrap; }\n.pgfm1-fs-body { display:grid; grid-template-columns:1fr; background:#f7f4ef; }\n.pgfm1-fs-radar-panel { padding:20px 16px; display:flex; justify-content:center; background:#f7f4ef; position:relative; }\n.pgfm1-fs-radar-panel svg { width:100%; max-width:270px; height:auto; display:block; }\n.pgfm1-fs-tip { display:none; position:absolute; background:#1a1208; color:rgba(255,255,255,0.92); font-family:sans-serif; font-size:11px; line-height:1.55; padding:8px 12px; border-radius:9px; z-index:20; max-width:210px; box-shadow:0 4px 18px rgba(0,0,0,0.22); pointer-events:none; }\n.pgfm1-fs-info { padding:16px 18px 18px; background:#f7f4ef; border-top:1px solid #e8e2da; }\n.pgfm1-fs-feel-lbl { display:block; font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; margin-bottom:9px; }\n.pgfm1-fs-feeling { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:16px; }\n.pgfm1-fs-feel-tag { font-family:Georgia,serif; font-size:13px; font-style:italic; color:#3d2810; padding:5px 14px; background:#fff; border-radius:7px; border:1px solid #d8d0c4; }\n.pgfm1-fs-section-label { display:block; font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; margin-bottom:10px; }\n.pgfm1-fs-targets { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:7px; margin-bottom:16px; }\n.pgfm1-fs-target { display:flex; align-items:center; gap:6px; padding:6px 10px; border-radius:10px; border:1px solid; font-family:sans-serif; font-size:11px; font-weight:600; }\n.pgfm1-fs-target span { font-size:14px; flex-shrink:0; }\n.pgfm1-fs-si { background:#fff; border-color:#c8c0b0; color:#2a1a08; }\n.pgfm1-fs-no { background:transparent; border-color:#e0d8d0; color:#b8a898; opacity:.45; text-decoration:line-through; }\n.pgfm1-fs-verdict { background:#fff; border-radius:10px; padding:12px 14px; border:1px solid #e0d8cc; }\n.pgfm1-fs-verdict-title { font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; margin-bottom:5px; }\n.pgfm1-fs-verdict-text { font-family:sans-serif; font-size:12px; color:#3d2810; line-height:1.65; }\n.pgfm1-fs-solo { background:#f0ece4; border-top:1px solid #e0d8cc; padding:14px 18px; }\n.pgfm1-fs-solo-row { display:flex; align-items:center; gap:12px; margin-bottom:8px; }\n.pgfm1-fs-solo-icon { font-size:1.4rem; flex-shrink:0; }\n.pgfm1-fs-solo-text { display:flex; flex-direction:column; gap:2px; flex-grow:1; }\n.pgfm1-fs-solo-label { font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; }\n.pgfm1-fs-solo-stars { font-family:sans-serif; font-size:14px; letter-spacing:2px; color:#4F6B1A; line-height:1; }\n.pgfm1-fs-solo-note { font-family:sans-serif; font-size:12px; color:#3d2810; line-height:1.65; }\n.pgfm1-fs-footer { padding:9px 20px; background:#eeeae4; border-top:1px solid #e0d8cc; font-family:sans-serif; font-size:11px; color:#6b5e48; line-height:1.5; }\n.pgfm1-section-pad { padding: 32px 28px 8px; border-top: 0 !important; border-bottom: 0 !important; box-shadow: none !important; }\n.pgfm1-cards { display: grid; grid-template-columns: 1fr; gap: 11px; margin-top: 16px; }\n.pgfm1-card { background: #fff; border-radius: 14px; padding: 16px 18px; border: 1px solid #e0ceb0; box-shadow: 0 2px 10px rgba(0,0,0,0.05); transition: transform 0.2s ease, box-shadow 0.2s ease; }\n.pgfm1-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.09); }\n.pgfm1-card-icon { font-size: 1.6rem; display: block; margin-bottom: 7px; }\n.pgfm1-card-name { font-size: 0.95rem; font-weight: 900; color: #4F6B1A; margin-bottom: 5px; }\n.pgfm1-card-desc { font-family: sans-serif; font-size: 0.85rem; color: #3d2810; line-height: 1.55; }\n.pgfm1-closing { background: #1e2a12; padding: 26px 28px; border-top: 3px solid #C68A3A; }\n.pgfm1-closing-text { font-family: Georgia, serif; font-size: 1.05rem; font-style: italic; color: rgba(255,255,255,0.88); text-align: center; line-height: 1.6; }\n.pgfm1-box-section { background: #F5EDD8; border-top: 1px solid #d4c0a0; }\n.pgfm1-det { border-bottom: 1px solid #e8deca; background: #fff; }\n.pgfm1-det--last { border-bottom: none; }\n.pgfm1-det-sum { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; cursor: pointer; transition: background .18s; }\n.pgfm1-det-sum::-webkit-details-marker { display: none; }\n.pgfm1-det-sum::marker { display: none; }\n.pgfm1-det[open] .pgfm1-det-sum { background: #faf7f2; }\n.pgfm1-det-sum:hover { background: #faf7f2; }\n.pgfm1-det-left { display: flex; align-items: center; gap: 10px; }\n.pgfm1-det-ico { font-size: 17px; flex-shrink: 0; }\n.pgfm1-det-title { font-family: sans-serif; font-size: 13px; font-weight: 700; color: #1a0800; display: block; }\n.pgfm1-det-sub { font-family: sans-serif; font-size: 11px; color: #9c8e7a; margin-top: 1px; display: block; }\n.pgfm1-det-arr { width: 16px; height: 16px; flex-shrink: 0; position: relative; }\n.pgfm1-det-arr::before { content: \"\"; position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; border-right: 2px solid #9c8e7a; border-bottom: 2px solid #9c8e7a; transform: translate(-50%,-70%) rotate(45deg); transition: transform .22s; }\n.pgfm1-det[open] .pgfm1-det-arr::before { transform: translate(-50%,-30%) rotate(225deg); }\n.pgfm1-det-body { padding: 0 20px 16px; background: #fff; }\n.pgfm1-comp-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:7px; padding-top:14px; }\n.pgfm1-comp { display:flex; align-items:center; gap:8px; padding:8px 10px; background:#f7f4ef; border-radius:8px; border:1px solid #e8deca; }\n.pgfm1-comp-qty { font-family:sans-serif; font-size:0.85rem; font-weight:800; color:#4F6B1A; min-width:30px; flex-shrink:0; }\n.pgfm1-comp-lbl { font-family:sans-serif; font-size:0.78rem; color:#3d2810; line-height:1.3; }\n@media screen and (min-width: 600px) {\n  .pgfm1-specs { grid-template-columns: repeat(6, 1fr); }\n  .pgfm1-spec { border-bottom: none; }\n  .pgfm1-spec:nth-child(3n) { border-right: 1px solid rgba(255,255,255,0.07); }\n  .pgfm1-spec:last-child { border-right: none; }\n  .pgfm1-cards { grid-template-columns: repeat(2, 1fr); }\n  .pgfm1-fs-body { grid-template-columns: 220px 1fr; }\n  .pgfm1-fs-radar-panel { border-top: none; border-right: 1px solid #e8e2da; }\n  .pgfm1-fs-info { border-top: none; }\n  .pgfm1-comp-grid { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }\n}\n@media screen and (min-width: 900px) {\n  .pgfm1-hero { padding: 40px 36px 44px; }\n  .pgfm1-intro-grid { grid-template-columns: 3fr 2fr; align-items: start; padding: 40px 36px 8px; }\n  .pgfm1-cards { grid-template-columns: repeat(4, 1fr); }\n  .pgfm1-divider { margin-left: 36px; margin-right: 36px; }\n  .pgfm1-section-pad { padding: 36px 36px 8px; }\n  .pgfm1-closing { padding: 28px 36px; }\n  .pgfm1-fs-body { grid-template-columns: 260px 1fr; }\n  .pgfm1-fs-radar-panel svg { max-width: 260px; }\n}\n\u003c\/style\u003e","brand":"Rio Grande Games","offers":[{"title":"Default Title","offer_id":54245258821959,"sku":null,"price":26.24,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/FactoryManager00.webp?v=1782731619","url":"https:\/\/frogames.business\/en\/products\/factory-manager","provider":"FroGames","version":"1.0","type":"link"}