{"product_id":"race-for-the-galaxy-xeno-counterstrike","title":"Race for the Galaxy: Xeno Counterstrike","description":"\u003cdiv class=\"fg1-wrap\"\u003e\n\n  \u003cdiv class=\"fg1-hero\"\u003e\n\n    \u003cdiv class=\"fg1-hero-content\"\u003e\n\n      \u003cp class=\"fg1-kicker\"\u003eFroGames — Moments You'll Remember\u003c\/p\u003e\n\n      \u003cp class=\"fg1-sub\"\u003eEmpires that span over fifteen worlds. Risky frontiers where every choice counts double. Games that last as long as a galactic conquest should.\u003c\/p\u003e\n\n      \u003cdiv class=\"fg1-chips\"\u003e\n\n\u003cspan class=\"fg1-chip fg1-chip--accent\"\u003eCompetitive\u003c\/span\u003e\u003cspan class=\"fg1-chip\"\u003eRio Grande Games\u003c\/span\u003e\u003cspan class=\"fg1-chip\"\u003eThe longest Race ever\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"fg1-specs-bar\"\u003e\n\n    \u003cdiv class=\"fg1-specs\"\u003e\n\n      \u003cdiv class=\"fg1-spec\"\u003e\n\n        \u003cspan class=\"fg1-spec-icon\"\u003e👥\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-label\"\u003ePlayers\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-val\"\u003e2 – 5\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fg1-spec\"\u003e\n\n        \u003cspan class=\"fg1-spec-icon\"\u003e⏱️\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-label\"\u003ePlaytime\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-val\"\u003e30–60 min\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fg1-spec\"\u003e\n\n        \u003cspan class=\"fg1-spec-icon\"\u003e🎂\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-label\"\u003eAge\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-val\"\u003e13+ years\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fg1-spec\"\u003e\n\n        \u003cspan class=\"fg1-spec-icon\"\u003e🎲\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-label\"\u003eMechanism\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-val\"\u003eSimultaneous Action Selection\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fg1-spec\"\u003e\n\n        \u003cspan class=\"fg1-spec-icon\"\u003e🗺️\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-label\"\u003eScale\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-val\"\u003eEmpires up to 25 cards\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fg1-spec\"\u003e\n\n        \u003cspan class=\"fg1-spec-icon\"\u003e💥\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-label\"\u003eFrontier\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-val\"\u003eRisky worlds with separate decks\u003c\/span\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"fg1-body\"\u003e\n\n    \u003cdiv class=\"fg1-intro-grid\"\u003e\n\n      \u003cdiv class=\"fg1-intro-text\"\u003e\n\n        \u003cp class=\"fg1-label\"\u003eWHAT IT'S ABOUT\u003c\/p\u003e\n\n        \u003ch3 class=\"fg1-h3\"\u003eThe galactic conquest fans have been waiting for for years\u003c\/h3\u003e\n\n        \u003cp class=\"fg1-p\"\u003e\u003cstrong\u003eThomas Lehmann\u003c\/strong\u003e concludes the third expansion arc of Race for the Galaxy with Xeno Counterstrike, a direct sequel to Xeno Invasion. This expansion takes the game beyond the stellar frontier, into the border zone between galactic empires and Xeno hive worlds. Martin Hoffmann and Claus Stephan return to provide illustrations for over 40 new frontier worlds, organized into separate decks with unprecedented risk\/reward mechanics.\u003c\/p\u003e\n\n        \u003cp class=\"fg1-p\"\u003eAt the table, you build empires that reach \u003cstrong\u003e15+ cards in tableau\u003c\/strong\u003e, with extended game end conditions and games that last 1-2 rounds longer than classic Race. Frontier worlds are colonized with a different system than the base game: dedicated decks, calculated risks, higher rewards. The lead often changes in the final turns, when massive economic engines come online and the larger worlds are finally colonized.\u003c\/p\u003e\n\n        \n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fg1-intro-side\"\u003e\n\n        \u003cp class=\"fg1-quote-header\"\u003eWhat they're saying abroad\u003c\/p\u003e\n\n        \u003cdiv class=\"fg1-quote\" itemscope itemtype=\"https:\/\/schema.org\/Review\"\u003e\n\n          \u003cp class=\"fg1-quote-text\" itemprop=\"reviewBody\"\u003eThe Race that doesn't end when you think it does\u003c\/p\u003e\n\n          \n          \u003cp class=\"fg1-quote-source\"\u003e— \u003cspan itemprop=\"author\" itemscope itemtype=\"https:\/\/schema.org\/Organization\"\u003e\u003cspan itemprop=\"name\"\u003eFroGames\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"fg1-quote fg1-quote--dark\" itemscope itemtype=\"https:\/\/schema.org\/Review\"\u003e\n\n          \u003cp class=\"fg1-quote-text\" itemprop=\"reviewBody\"\u003e25-card empires. Frontiers that overturn established strategies. Thomas Lehmann means business\u003c\/p\u003e\n\n          \n          \u003cp class=\"fg1-quote-source\"\u003e— \u003cspan itemprop=\"author\" itemscope itemtype=\"https:\/\/schema.org\/Organization\"\u003e\u003cspan itemprop=\"name\"\u003eFroGames\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"fg1-divider\"\u003e\u003c\/div\u003e\n\n    \u003cdiv class=\"fg1-fs\"\u003e\n\n      \u003cdiv class=\"fg1-fs-header\"\u003e\n\n        \u003cdiv class=\"fg1-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=\"fg1-fs-frog-img\"\u003e\n          \u003cdiv\u003e\n\n            \u003cspan class=\"fg1-fs-brand-label\"\u003eFrogScore · FroGames.it\u003c\/span\u003e\n            \u003cp class=\"fg1-fs-game-name\"\u003eRace for the Galaxy: Xeno Counterstrike\u003c\/p\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n        \u003cspan class=\"fg1-fs-cat\" style=\"background:#eaf3de;border-color:#80b050;color:#2a5010\"\u003eStrategy\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fg1-fs-body\"\u003e\n\n        \u003cdiv class=\"fg1-fs-radar-panel\"\u003e\n\n          \u003csvg id=\"fg1-fs-svg\" viewbox=\"0 0 320 320\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"overflow:visible\"\u003e\u003c\/svg\u003e\n          \u003cdiv class=\"fg1-fs-tip\" id=\"fg1-fs-tip\"\u003e\u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"fg1-fs-info\"\u003e\n\n          \u003cspan class=\"fg1-fs-feel-lbl\"\u003eThe experience\u003c\/span\u003e\n          \u003cdiv class=\"fg1-fs-feeling\"\u003e\n\n\u003cspan class=\"fg1-fs-feel-tag\"\u003eExpansive\u003c\/span\u003e\u003cspan class=\"fg1-fs-feel-tag\"\u003eTactical\u003c\/span\u003e\u003cspan class=\"fg1-fs-feel-tag\"\u003eEpic\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n          \u003cspan class=\"fg1-fs-section-label\"\u003eWho it's for\u003c\/span\u003e\n          \u003cdiv class=\"fg1-fs-targets\"\u003e\n\n\u003cdiv class=\"fg1-fs-target fg1-fs-si\"\u003e\n\n\u003cspan\u003e🎯\u003c\/span\u003eExperts\u003c\/div\u003e\n\n\u003cdiv class=\"fg1-fs-target fg1-fs-si\"\u003e\n\n\u003cspan\u003e🧠\u003c\/span\u003eHeavy game\u003c\/div\u003e\n\n\u003cdiv class=\"fg1-fs-target fg1-fs-no\"\u003e\n\n\u003cspan\u003e🌱\u003c\/span\u003eGateway\u003c\/div\u003e\n\n\u003cdiv class=\"fg1-fs-target fg1-fs-no\"\u003e\n\n\u003cspan\u003e🎲\u003c\/span\u003eFamily game\u003c\/div\u003e\n\n\u003cdiv class=\"fg1-fs-target fg1-fs-no\"\u003e\n\n\u003cspan\u003e🧘\u003c\/span\u003eSolo player\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n          \u003cdiv class=\"fg1-fs-verdict\"\u003e\n\n            \u003cdiv class=\"fg1-fs-verdict-title\"\u003eIn summary\u003c\/div\u003e\n\n            \u003cdiv class=\"fg1-fs-verdict-text\"\u003eXeno Counterstrike is Race for the Galaxy in its most ambitious form: huge empires, longer games, risky frontiers. It's not for everyone. It's for those who want a Race that lasts as long as a true galactic conquest should.\u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fg1-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=\"fg1-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\": 5, \"note\": \"Imperi grandi richiedono pianificazione a lungo termine, ogni carta conta\"}, {\"label\": \"Complessità\", \"value\": 5, \"note\": \"Richiede il gioco base, aggiunge mazzi frontier e regole counterstrike opzionali\"}, {\"label\": \"Rigiocabilità\", \"value\": 5, \"note\": \"40+ mondi frontier, motori economici variabili, partite mai uguali\"}, {\"label\": \"Interazione\", \"value\": 3, \"note\": \"Selezione fasi simultanea, competizione su mondi frontier e pool VP\"}, {\"label\": \"Tensione\", \"value\": 4, \"note\": \"Finali serrati, la lead cambia spesso negli ultimi 2 round\"}];\n      var accent='#2E6B0A';\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('fg1-fs-svg');\n      var tip=document.getElementById('fg1-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 fg1-draw{to{stroke-dashoffset:0}}@keyframes fg1-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:fg1-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:fg1-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:fg1-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=\"fg1-divider\"\u003e\u003c\/div\u003e\n\n    \u003cdiv class=\"fg1-section-pad\"\u003e\n\n      \u003cp class=\"fg1-label\"\u003eWhat's in the box\u003c\/p\u003e\n\n      \u003ch3 class=\"fg1-h3\"\u003eOver 40 new worlds and a frontier to conquer\u003c\/h3\u003e\n\n      \u003cdiv class=\"fg1-cards\"\u003e\n\n        \u003cdiv class=\"fg1-card\"\u003e\n\n          \u003cspan class=\"fg1-card-icon\"\u003e🌌\u003c\/span\u003e\n          \u003ch4 class=\"fg1-card-name\"\u003eFrontier Worlds\u003c\/h4\u003e\n\n          \u003cp class=\"fg1-card-desc\"\u003eSeparate decks of risky worlds in the border zone. Colonized with different mechanics, high rewards, calculated risks. The frontier changes established strategies.\u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"fg1-card\"\u003e\n\n          \u003cspan class=\"fg1-card-icon\"\u003e🎯\u003c\/span\u003e\n          \u003ch4 class=\"fg1-card-name\"\u003eExtended conditions\u003c\/h4\u003e\n\n          \u003cp class=\"fg1-card-desc\"\u003eGame ends at 15+ cards in tableau and 15 VP per player in the common pool. Games last 1-2 rounds longer, enough to see massive economic engines come online.\u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"fg1-card\"\u003e\n\n          \u003cspan class=\"fg1-card-icon\"\u003e💥\u003c\/span\u003e\n          \u003ch4 class=\"fg1-card-name\"\u003eCounterstrike Mode\u003c\/h4\u003e\n\n          \u003cp class=\"fg1-card-desc\"\u003eXeno invasion turns into a galactic counterattack. Epic games with no tableau limit, economic or military victory against the Xeno. 25-card empires are not uncommon.\u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"fg1-card\"\u003e\n\n          \u003cspan class=\"fg1-card-icon\"\u003e👥\u003c\/span\u003e\n          \u003ch4 class=\"fg1-card-name\"\u003eFifth player\u003c\/h4\u003e\n\n          \u003cp class=\"fg1-card-desc\"\u003eComponents to bring Race to 5 players. Requires Xeno Invasion for this mode and for the full counterstrike game.\u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"fg1-section-pad fg1-rulebook-pad\"\u003e\n\n      \u003ca class=\"fg1-rulebook\" href=\"https:\/\/boardgamegeek.com\/filepage\/321566\" target=\"_blank\" rel=\"nofollow noopener\"\u003e\n        \u003cspan class=\"fg1-rulebook-icon\"\u003e📕\u003c\/span\u003e\n        \u003cspan class=\"fg1-rulebook-text\"\u003e\n          \u003cspan class=\"fg1-rulebook-label\"\u003eOfficial rulebook (PDF)\u003c\/span\u003e\n          \u003cspan class=\"fg1-rulebook-meta\"\u003eXeno Counterstrike rules · on BoardGameGeek\u003c\/span\u003e\n        \u003c\/span\u003e\n        \u003cspan class=\"fg1-rulebook-arrow\"\u003e↗\u003c\/span\u003e\n      \u003c\/a\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"fg1-closing\"\u003e\n\n      \u003cp class=\"fg1-closing-text\"\u003eIn three hours you will have colonized frontiers you didn't know existed. And your empire will be too big to fit on the table.\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\u003cstyle\u003e\n.fg1-wrap, .fg1-wrap * { box-sizing: border-box; margin: 0; padding: 0; }\n.fg1-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: #1a1a1a;\n}\n.fg1-hero {\n  background: linear-gradient(135deg, #1a1a1a 0%, #222222 50%, #1a1a1a 100%);\n  padding: 32px 26px 36px;\n  position: relative;\n  overflow: hidden;\n}\n.fg1-hero::before {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  background: radial-gradient(ellipse at top right, rgba(46,107,10,0.08) 0%, transparent 60%);\n  pointer-events: none;\n}\n.fg1-hero-content { position: relative; z-index: 2; }\n.fg1-kicker { display: block; color: #FFB800; font-family: sans-serif; font-size: 0.7rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 10px; }\n.fg1-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.fg1-chips { display: flex; flex-wrap: wrap; gap: 7px; }\n.fg1-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.fg1-chip--accent { background: #2E6B0A; border-color: #2E6B0A; }\n.fg1-specs-bar { background: #160a02; padding: 0 24px; border-top: 1px solid rgba(255,255,255,0.06); }\n.fg1-specs { display: grid; grid-template-columns: repeat(3, 1fr); }\n.fg1-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.fg1-spec:nth-child(3n) { border-right: none; }\n.fg1-spec:nth-last-child(-n+3) { border-bottom: none; }\n.fg1-spec-icon { font-size: 1.2rem; }\n.fg1-spec-label { color: rgba(255,255,255,0.4); font-family: sans-serif; font-size: 0.6rem; text-transform: uppercase; letter-spacing: 1px; }\n.fg1-spec-val { color: #fff; font-family: sans-serif; font-size: 0.84rem; font-weight: 800; }\n.fg1-body { background: #F5EDD8; }\n.fg1-intro-grid { display: grid; grid-template-columns: 1fr; gap: 26px; padding: 36px 28px 8px; }\n.fg1-label { display: block; font-family: sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: #2E6B0A; margin-bottom: 7px; }\n.fg1-h3 { font-size: clamp(1.4rem, 2.5vw, 2.1rem); font-weight: 900; color: #1a0800; line-height: 1.15; margin-bottom: 16px; }\n.fg1-p { font-family: sans-serif; font-size: 0.95rem; color: #3d2810; margin-bottom: 13px; line-height: 1.65; max-width: 700px; }\n.fg1-quote-header { font-family: sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #2E6B0A; margin-bottom: 12px; }\n.fg1-quote { background: #1a0800; border-radius: 14px; padding: 16px 18px; margin-bottom: 12px; border-left: 4px solid #FFB800; }\n.fg1-quote--dark { background: #3a0a00; }\n.fg1-quote-text { color: #fff; font-style: italic; font-size: 0.87rem; line-height: 1.6; margin-bottom: 6px; font-family: sans-serif; }\n.fg1-quote-transl { color: rgba(255,255,255,0.48); font-family: sans-serif; font-size: 0.76rem; line-height: 1.5; margin-bottom: 7px; font-style: italic; }\n.fg1-quote-source { color: rgba(255,255,255,0.43); font-family: sans-serif; font-size: 0.72rem; font-weight: 700; }\n.fg1-divider { height: 1px; background: #d4c0a0; margin: 32px 28px 0; }\n.fg1-fs { background:#fff; border-top:1px solid #e0d8cc; border-bottom:1px solid #e0d8cc; }\n.fg1-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.fg1-fs-brand { display:flex; align-items:center; gap:9px; }\n.fg1-fs-frog-img { width:28px; height:28px; object-fit:contain; flex-shrink:0; }\n.fg1-fs-footer-frog { width:16px; height:16px; object-fit:contain; vertical-align:middle; margin-right:2px; }\n.fg1-fs-brand-label { display:block; font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; }\n.fg1-fs-game-name { font-family:sans-serif; font-size:14px; font-weight:700; color:#1a1208; margin-top:2px; }\n.fg1-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.fg1-fs-body { display:grid; grid-template-columns:1fr; background:#f7f4ef; }\n.fg1-fs-radar-panel { padding:20px 16px; display:flex; justify-content:center; background:#f7f4ef; position:relative; }\n.fg1-fs-radar-panel svg { width:100%; max-width:270px; height:auto; display:block; }\n.fg1-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.fg1-fs-info { padding:16px 18px 18px; background:#f7f4ef; border-top:1px solid #e8e2da; }\n.fg1-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.fg1-fs-feeling { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:16px; }\n.fg1-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.fg1-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.fg1-fs-targets { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:7px; margin-bottom:16px; }\n.fg1-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.fg1-fs-target span { font-size:14px; flex-shrink:0; }\n.fg1-fs-si { background:#fff; border-color:#c8c0b0; color:#2a1a08; }\n.fg1-fs-no { background:transparent; border-color:#e0d8d0; color:#b8a898; opacity:.45; text-decoration:line-through; }\n.fg1-fs-verdict { background:#fff; border-radius:10px; padding:12px 14px; border:1px solid #e0d8cc; }\n.fg1-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.fg1-fs-verdict-text { font-family:sans-serif; font-size:12px; color:#3d2810; line-height:1.65; }\n.fg1-fs-solo { background:#f0ece4; border-top:1px solid #e0d8cc; padding:14px 18px; }\n.fg1-fs-solo-row { display:flex; align-items:center; gap:12px; margin-bottom:8px; }\n.fg1-fs-solo-icon { font-size:1.4rem; flex-shrink:0; }\n.fg1-fs-solo-text { display:flex; flex-direction:column; gap:2px; flex-grow:1; }\n.fg1-fs-solo-label { font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; }\n.fg1-fs-solo-stars { font-family:sans-serif; font-size:14px; letter-spacing:2px; color:#2E6B0A; line-height:1; }\n.fg1-fs-solo-note { font-family:sans-serif; font-size:12px; color:#3d2810; line-height:1.65; }\n.fg1-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.fg1-section-pad { padding: 32px 28px 8px; border-top: 0 !important; border-bottom: 0 !important; box-shadow: none !important; }\n.fg1-cards { display: grid; grid-template-columns: 1fr; gap: 11px; margin-top: 16px; }\n.fg1-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.fg1-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.09); }\n.fg1-card-icon { font-size: 1.6rem; display: block; margin-bottom: 7px; }\n.fg1-card-name { font-size: 0.95rem; font-weight: 900; color: #2E6B0A; margin-bottom: 5px; }\n.fg1-card-desc { font-family: sans-serif; font-size: 0.85rem; color: #3d2810; line-height: 1.55; }\n.fg1-sleeve-toggle { background: #fff; border-radius: 14px; border: 1px solid #e0ceb0; box-shadow: 0 2px 10px rgba(0,0,0,0.05); overflow: hidden; }\n.fg1-sleeve-summary { list-style: none; cursor: pointer; padding: 16px 20px; display: flex; align-items: center; gap: 14px; font-family: sans-serif; user-select: none; transition: background 0.2s ease; }\n.fg1-sleeve-summary::-webkit-details-marker { display: none; }\n.fg1-sleeve-summary:hover { background: #faf2e2; }\n.fg1-sleeve-summary-icon { font-size: 1.5rem; flex-shrink: 0; }\n.fg1-sleeve-summary-text { flex-grow: 1; display: flex; flex-direction: column; gap: 2px; }\n.fg1-sleeve-summary-label { font-size: 0.95rem; font-weight: 800; color: #1a0800; }\n.fg1-sleeve-summary-count { font-size: 0.78rem; color: #7a6040; font-weight: 500; }\n.fg1-sleeve-summary-arrow { font-size: 0.75rem; color: #2E6B0A; transition: transform 0.25s ease; flex-shrink: 0; }\n.fg1-sleeve-toggle[open] .fg1-sleeve-summary-arrow { transform: rotate(180deg); }\n.fg1-sleeve-toggle[open] .fg1-sleeve-summary { border-bottom: 1px solid #f0e4ce; }\n.fg1-sleeve-body { padding: 16px 20px 20px; }\n.fg1-sleeve-intro { font-family: sans-serif; font-size: 0.9rem; color: #3d2810; line-height: 1.6; margin: 0 0 14px 0; max-width: 680px; }\n.fg1-sleeve-table { width: 100%; max-width: 420px; border-collapse: collapse; background: #fff; border-radius: 10px; overflow: hidden; border: 1px solid #e8dcba; font-family: sans-serif; }\n.fg1-sleeve-table th { background: #2E6B0A; color: #fff; text-transform: uppercase; letter-spacing: 1px; font-size: 0.72rem; font-weight: 700; padding: 10px 14px; text-align: left; }\n.fg1-sleeve-table td { padding: 10px 14px; border-bottom: 1px solid #f0e4ce; font-size: 0.9rem; color: #3d2810; }\n.fg1-sleeve-table tbody tr:last-child td { border-bottom: none; }\n.fg1-sleeve-dim { font-weight: 600; }\n.fg1-sleeve-qty { font-weight: 800; text-align: right; color: #2E6B0A; }\n.fg1-sleeve-total td { background: #faf2e2; font-weight: 900; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.5px; }\n.fg1-sleeve-total .fg1-sleeve-qty { color: #1a0800; }\n.fg1-rulebook-pad { padding-top: 18px; border-top: 0 !important; border-bottom: 0 !important; box-shadow: none !important; }\n\/* Card cliccabile: border shorthand + accent verde a sinistra (etichetta \"risorsa speciale\").\n   Niente 4 border separati: il border-bottom da solo si leggeva come underline. *\/\na.fg1-rulebook,\na.fg1-rulebook:link,\na.fg1-rulebook:visited,\na.fg1-rulebook:hover,\na.fg1-rulebook:focus,\na.fg1-rulebook:active {\n  text-decoration: none !important;\n  border: 1px solid #e8dcba !important;\n  border-left: 4px solid #2E6B0A !important;\n  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;\n  outline: none !important;\n  background-image: none !important;\n}\n.fg1-rulebook { display: flex; align-items: center; gap: 14px; background: #fffaf0; border-radius: 12px; padding: 14px 18px; color: #1a0800; transition: background 0.2s ease, transform 0.2s ease; }\n.fg1-rulebook:hover { background: #faf0d8 !important; transform: translateX(2px); }\n\/* Reset preventivo su figli e pseudo-elementi: alcuni temi Shopify (Concept, Dawn-derived,\n   Impulse, Prestige) iniettano underline animate via ::before\/::after con background-image\n   linear-gradient. Vanno nuke esplicitamente. *\/\n.fg1-rulebook *,\n.fg1-rulebook *::before,\n.fg1-rulebook *::after {\n  text-decoration: none !important;\n  border: 0 !important;\n  box-shadow: none !important;\n  background: transparent !important;\n  background-image: none !important;\n}\n.fg1-rulebook::before,\n.fg1-rulebook::after {\n  display: none !important;\n  content: none !important;\n}\n.fg1-rulebook-icon { font-size: 1.6rem; flex-shrink: 0; }\n.fg1-rulebook-text { display: flex; flex-direction: column; flex-grow: 1; gap: 2px; }\n.fg1-rulebook-label { font-weight: 800; font-size: 0.95rem; color: #1a0800; }\n.fg1-rulebook-meta { font-size: 0.78rem; color: #6b5a3a; }\n.fg1-rulebook-arrow { font-size: 1.1rem; color: #2E6B0A; font-weight: 700; flex-shrink: 0; }\n.fg1-closing { background: #1a0800; padding: 26px 28px; border-top: 3px solid #FFB800; }\n.fg1-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@media screen and (min-width: 600px) {\n  .fg1-specs { grid-template-columns: repeat(6, 1fr); }\n  .fg1-spec { border-bottom: none; }\n  .fg1-spec:nth-child(3n) { border-right: 1px solid rgba(255,255,255,0.07); }\n  .fg1-spec:last-child { border-right: none; }\n  .fg1-cards { grid-template-columns: repeat(2, 1fr); }\n  .fg1-fs-body { grid-template-columns: 220px 1fr; }\n  .fg1-fs-radar-panel { border-top: none; border-right: 1px solid #e8e2da; }\n  .fg1-fs-info { border-top: none; }\n}\n@media screen and (min-width: 900px) {\n  .fg1-hero { padding: 40px 36px 44px; }\n  .fg1-intro-grid { grid-template-columns: 3fr 2fr; align-items: start; padding: 40px 36px 8px; }\n  .fg1-cards { grid-template-columns: repeat(4, 1fr); }\n  .fg1-divider { margin-left: 36px; margin-right: 36px; }\n  .fg1-section-pad { padding: 36px 36px 8px; }\n  .fg1-closing { padding: 28px 36px; }\n  .fg1-fs-body { grid-template-columns: 260px 1fr; }\n  .fg1-fs-radar-panel svg { max-width: 260px; }\n}\n\u003c\/style\u003e","brand":"Rio Grande Games","offers":[{"title":"Default Title","offer_id":54036231684423,"sku":null,"price":39.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/RacefortheGalaxyXenoCounterstrike.webp?v=1780322776","url":"https:\/\/frogames.it\/en\/products\/race-for-the-galaxy-xeno-counterstrike","provider":"FroGames","version":"1.0","type":"link"}