{"product_id":"philharmonix-galactic-festival","title":"Philharmonix Galactic Festival","description":"\u003c!-- =====================================================\n     PHILHARMONIX: GALACTIC FESTIVAL — BLOCCO 1\n     FroGames | Shopify Theme Concept\n     EXPANSION — requires Philharmonix base game\n     ===================================================== --\u003e\n\n\u003cdiv class=\"pgf1-wrap\"\u003e\n\n  \u003c!-- COVER --\u003e\n  \u003cdiv class=\"pgf1-cover\"\u003e\n    \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/galactiv_festival.png?v=1778576845\" alt=\"Philharmonix Galactic Festival black hole expansion for Archona Games board game - official cover\" class=\"pgf1-cover-img\" loading=\"eager\"\u003e\n    \u003cdiv class=\"pgf1-cover-fade\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"pgf1-cover-content\"\u003e\n      \u003cp class=\"pgf1-kicker\"\u003eFroGames — Moments You'll Remember\u003c\/p\u003e\n      \u003cp class=\"pgf1-sub\"\u003eThe galaxy's most important festival is held around a black hole. Diving in is the fastest way to travel — if you survive the gravitational pull.\u003c\/p\u003e\n      \u003cdiv class=\"pgf1-chips\"\u003e\n        \u003cspan class=\"pgf1-chip pgf1-chip--gold\"\u003eExpansion\u003c\/span\u003e\n        \u003cspan class=\"pgf1-chip\"\u003eArchona Games\u003c\/span\u003e\n        \u003cspan class=\"pgf1-chip\"\u003ePush-your-luck\u003c\/span\u003e\n        \u003cspan class=\"pgf1-chip\"\u003eEnglish Edition\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- EXPANSION WARNING --\u003e\n  \u003cdiv class=\"pgf1-expansion-warning\"\u003e\n    \u003cspan class=\"pgf1-ew-icon\"\u003e⚠️\u003c\/span\u003e\n    \u003cdiv class=\"pgf1-ew-body\"\u003e\n      \u003cp class=\"pgf1-ew-title\"\u003eThis is an expansion\u003c\/p\u003e\n      \u003cp class=\"pgf1-ew-text\"\u003eTo play Galactic Festival, you need the \u003cstrong\u003ePhilharmonix\u003c\/strong\u003e base game from Archona Games. It doesn't work on its own — it adds content to the main game.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- SPECS BAR --\u003e\n  \u003cdiv class=\"pgf1-specs-bar\"\u003e\n    \u003cdiv class=\"pgf1-specs\"\u003e\n      \u003cdiv class=\"pgf1-spec\"\u003e\n        \u003cspan class=\"pgf1-spec-icon\"\u003e🎼\u003c\/span\u003e\n        \u003cspan class=\"pgf1-spec-label\"\u003eType\u003c\/span\u003e\n        \u003cspan class=\"pgf1-spec-val\"\u003eMini expansion\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"pgf1-spec\"\u003e\n        \u003cspan class=\"pgf1-spec-icon\"\u003e👥\u003c\/span\u003e\n        \u003cspan class=\"pgf1-spec-label\"\u003ePlayers\u003c\/span\u003e\n        \u003cspan class=\"pgf1-spec-val\"\u003e1 – 4\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"pgf1-spec\"\u003e\n        \u003cspan class=\"pgf1-spec-icon\"\u003e⚙️\u003c\/span\u003e\n        \u003cspan class=\"pgf1-spec-label\"\u003eRequires\u003c\/span\u003e\n        \u003cspan class=\"pgf1-spec-val\"\u003eBase game\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"pgf1-spec\"\u003e\n        \u003cspan class=\"pgf1-spec-icon\"\u003e🎲\u003c\/span\u003e\n        \u003cspan class=\"pgf1-spec-label\"\u003eMechanic\u003c\/span\u003e\n        \u003cspan class=\"pgf1-spec-val\"\u003ePush-your-luck\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"pgf1-spec\"\u003e\n        \u003cspan class=\"pgf1-spec-icon\"\u003e🌀\u003c\/span\u003e\n        \u003cspan class=\"pgf1-spec-label\"\u003eAdds\u003c\/span\u003e\n        \u003cspan class=\"pgf1-spec-val\"\u003eBlack hole\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"pgf1-spec\"\u003e\n        \u003cspan class=\"pgf1-spec-icon\"\u003e🌍\u003c\/span\u003e\n        \u003cspan class=\"pgf1-spec-label\"\u003eLanguage\u003c\/span\u003e\n        \u003cspan class=\"pgf1-spec-val\"\u003eEnglish\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BODY --\u003e\n  \u003cdiv class=\"pgf1-body\"\u003e\n\n    \u003c!-- INTRO + EDITORIAL BOXES --\u003e\n    \u003cdiv class=\"pgf1-intro-grid\"\u003e\n      \u003cdiv class=\"pgf1-intro-text\"\u003e\n        \u003cp class=\"pgf1-label\"\u003eWhat it's about\u003c\/p\u003e\n        \u003ch3 class=\"pgf1-h3\"\u003eThe festival at the center of the galaxy\u003c\/h3\u003e\n        \u003cp class=\"pgf1-p\"\u003eAt the heart of the Malaya galaxy is a supermassive black hole. And around that black hole, the most important music festival in existence is held. Galactic Festival is the mini expansion that takes the Philharmonix base game straight to that impossible place — where the fastest journeys pass through the singularity, and sometimes you don't make it to the other side.\u003c\/p\u003e\n        \u003cp class=\"pgf1-p\"\u003eThe main addition is a central board dedicated to the festival, with its tokens, and a new action: plunging into the black hole to traverse the galaxy in the blink of an eye. If gravity is on your side, you land on distant planets and collect rewards. If it's not, you're sucked in, and your turn ends there, in cosmic silence.\u003c\/p\u003e\n        \u003cp class=\"pgf1-p\"\u003eIt's a contained expansion — it doesn't revolutionize the base game, it enriches it with a risk element that breaks the euro-meditative nature of Philharmonix. One more choice, every turn, of the kind that changes the game.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"pgf1-intro-side\"\u003e\n        \u003cp class=\"pgf1-quote-header\"\u003eWhat changes with Galactic Festival\u003c\/p\u003e\n        \u003cdiv class=\"pgf1-quote-solo\"\u003e\n          \u003cspan class=\"pgf1-qs-icon\"\u003e🌀\u003c\/span\u003e\n          \u003cp class=\"pgf1-qs-text\"\u003eA pure eurogame gains a push-your-luck decision. Small dose, big effect: at the end of every turn, you always have one more doubt.\u003c\/p\u003e\n          \u003cp class=\"pgf1-qs-note\"\u003eThe secret of Galactic Festival in one line\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"pgf1-quote-solo pgf1-quote-solo--alt\"\u003e\n          \u003cspan class=\"pgf1-qs-icon\"\u003e🎼\u003c\/span\u003e\n          \u003cp class=\"pgf1-qs-text\"\u003eThe festival adds an extra objective to the center of the board — a place everyone wants to reach. Spatial competition becomes more direct.\u003c\/p\u003e\n          \u003cp class=\"pgf1-qs-note\"\u003eFrom the game experience\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"pgf1-divider\"\u003e\u003c\/div\u003e\n\n    \u003c!-- FROGSCORE --\u003e\n    \u003cdiv class=\"pgf1-fs\"\u003e\n      \u003cdiv class=\"pgf1-fs-header\"\u003e\n        \u003cdiv class=\"pgf1-fs-brand\"\u003e\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/FROG_FAVICON.webp?v=1774174794\" alt=\"FroGames\" class=\"pgf1-fs-frog-img\"\u003e\n          \u003cdiv\u003e\n            \u003cspan class=\"pgf1-fs-brand-label\"\u003eFrogScore · FroGames.it\u003c\/span\u003e\n            \u003cp class=\"pgf1-fs-game-name\"\u003ePhilharmonix: Galactic Festival\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cspan class=\"pgf1-fs-cat\" style=\"background:#eaf3de;border-color:#80b050;color:#2a5010\"\u003eExpansion · Strategy\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"pgf1-fs-body\"\u003e\n        \u003cdiv class=\"pgf1-fs-radar-panel\"\u003e\n          \u003csvg id=\"pgf1-fs-svg\" viewbox=\"0 0 320 320\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"overflow:visible\"\u003e\u003c\/svg\u003e\n          \u003cdiv class=\"pgf1-fs-tip\" id=\"pgf1-fs-tip\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"pgf1-fs-info\"\u003e\n          \u003cspan class=\"pgf1-fs-feel-lbl\"\u003eThe experience it adds\u003c\/span\u003e\n          \u003cdiv class=\"pgf1-fs-feeling\"\u003e\n            \u003cspan class=\"pgf1-fs-feel-tag\"\u003eRisky\u003c\/span\u003e\n            \u003cspan class=\"pgf1-fs-feel-tag\"\u003eThematic\u003c\/span\u003e\n            \u003cspan class=\"pgf1-fs-feel-tag\"\u003eIntriguing\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cspan class=\"pgf1-fs-section-label\"\u003eWho is it for\u003c\/span\u003e\n          \u003cdiv class=\"pgf1-fs-targets\"\u003e\n            \u003cdiv class=\"pgf1-fs-target pgf1-fs-si\"\u003e\n\u003cspan\u003e🎯\u003c\/span\u003eThose who own the base game\u003c\/div\u003e\n            \u003cdiv class=\"pgf1-fs-target pgf1-fs-si\"\u003e\n\u003cspan\u003e🧠\u003c\/span\u003eEurogamers\u003c\/div\u003e\n            \u003cdiv class=\"pgf1-fs-target pgf1-fs-si\"\u003e\n\u003cspan\u003e🧘\u003c\/span\u003eSolo players\u003c\/div\u003e\n            \u003cdiv class=\"pgf1-fs-target pgf1-fs-no\"\u003e\n\u003cspan\u003e🆕\u003c\/span\u003eNew to the game\u003c\/div\u003e\n            \u003cdiv class=\"pgf1-fs-target pgf1-fs-no\"\u003e\n\u003cspan\u003e🍕\u003c\/span\u003eParty\u003c\/div\u003e\n            \u003cdiv class=\"pgf1-fs-target pgf1-fs-no\"\u003e\n\u003cspan\u003e🧒\u003c\/span\u003eChildren\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"pgf1-fs-verdict\"\u003e\n            \u003cdiv class=\"pgf1-fs-verdict-title\"\u003eIn summary\u003c\/div\u003e\n            \u003cdiv class=\"pgf1-fs-verdict-text\"\u003eThematic and contained mini-expansion. Adds a push-your-luck action that breaks the meditative rhythm of the eurogame without disrupting it. Recommended after the first few plays of the base game.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"pgf1-fs-footer\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/FROG_FAVICON.webp?v=1774174794\" alt=\"FroGames\" class=\"pgf1-fs-footer-frog\"\u003e FrogScore · FroGames editorial rating · based on rulebook, publisher materials and base game context\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cscript\u003e\n    (function(){\n      var PI2=Math.PI*2;\n      var dims=[\n        {l:'Theme',           v:5, note:\"The idea of the black hole at the center of the galaxy is the most evocative thing about the expansion\"},\n        {l:'Risk',        v:4, note:\"The black hole action is pure push-your-luck: big reward or wasted turn\"},\n        {l:'Replayability',v:3, note:\"Adds a new strategic option but does not rewrite the base game\"},\n        {l:'Integration',   v:4, note:\"It fits into the base game without burdening setup or rules\"},\n        {l:'Depth', v:3, note:\"One more choice each turn: adds layers without becoming unmanageable\"},\n        {l:'Necessity', v:2, note:\"It's not essential — the base game is already complete. You buy it for love of the theme\"}\n      ];\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('pgf1-fs-svg');\n      var tip=document.getElementById('pgf1-fs-tip');\n      var ns='http:\/\/www.w3.org\/2000\/svg';\n\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\n      var st=document.createElement('style');\n      st.textContent='@keyframes pgf1-draw{to{stroke-dashoffset:0}}@keyframes pgf1-fade{to{opacity:1}}';\n      document.head.appendChild(st);\n\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\n      var dpts=dims.map(function(d,i){var p=pt(R*(d.v\/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.v\/5),i),p2=pt(R*(dims[(i+1)%n].v\/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:pgf1-draw 0.9s ease-out 0.1s forwards';\n      svg.appendChild(shape);\n\n      dims.forEach(function(d,i){\n        var p=pt(R*(d.v\/5),i);\n        var angle=off+i*step;\n\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].l+' '+dims[idx].v+'\/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\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:pgf1-fade 0.3s ease-out '+(0.8+i*0.07).toFixed(2)+'s forwards';\n        svg.appendChild(c);\n\n        var nd=R*(d.v\/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.v;\n        vt.style.cssText='opacity:0;animation:pgf1-fade 0.3s ease-out '+(0.85+i*0.07).toFixed(2)+'s forwards';\n        svg.appendChild(vt);\n      });\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.v\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.l;\n        svg.appendChild(t);\n      });\n    })();\n    \u003c\/script\u003e\n\n    \u003cdiv class=\"pgf1-divider\"\u003e\u003c\/div\u003e\n\n    \u003c!-- WHAT IT ADDS --\u003e\n    \u003cdiv class=\"pgf1-section-pad\"\u003e\n      \u003cp class=\"pgf1-label\"\u003eWhat it adds to the base game\u003c\/p\u003e\n      \u003ch3 class=\"pgf1-h3\"\u003eThree new elements, one more decision every turn\u003c\/h3\u003e\n      \u003cdiv class=\"pgf1-cards\"\u003e\n        \u003cdiv class=\"pgf1-card\"\u003e\n          \u003cspan class=\"pgf1-card-icon\"\u003e🪐\u003c\/span\u003e\n          \u003ch4 class=\"pgf1-card-name\"\u003eNew central board\u003c\/h4\u003e\n          \u003cp class=\"pgf1-card-desc\"\u003eThe festival board attaches to the center of the galactic map. It becomes a common point of interest that reshapes all players' routes.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"pgf1-card\"\u003e\n          \u003cspan class=\"pgf1-card-icon\"\u003e🌀\u003c\/span\u003e\n          \u003ch4 class=\"pgf1-card-name\"\u003eThe black hole action\u003c\/h4\u003e\n          \u003cp class=\"pgf1-card-desc\"\u003eUse gravity for a quick jump across the galaxy. Succeed? You travel far and get rewards. Fail? Your turn ends, just like that.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"pgf1-card\"\u003e\n          \u003cspan class=\"pgf1-card-icon\"\u003e🎟️\u003c\/span\u003e\n          \u003ch4 class=\"pgf1-card-name\"\u003eDedicated festival tokens\u003c\/h4\u003e\n          \u003cp class=\"pgf1-card-desc\"\u003eNew tokens to manage festival participations, rewards, and the outcome of the gravitational action. All integrated with the base game's system.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"pgf1-card\"\u003e\n          \u003cspan class=\"pgf1-card-icon\"\u003e🎼\u003c\/span\u003e\n          \u003ch4 class=\"pgf1-card-name\"\u003eExtra prestige\u003c\/h4\u003e\n          \u003cp class=\"pgf1-card-desc\"\u003ePerforming at the festival in the center of the galaxy yields prestige points that add to those of the normal game. A second path to victory.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- CLOSING --\u003e\n    \u003cdiv class=\"pgf1-closing\"\u003e\n      \u003cp class=\"pgf1-closing-text\"\u003eYou've already explored Philharmonix. Now you're heading straight for the center of the galaxy, where physics is scary and the rewards are the biggest.\u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- BOX CONTENT --\u003e\n    \u003cdiv class=\"pgf1-box-section\"\u003e\n\n      \u003cdetails class=\"pgf1-det\"\u003e\n        \u003csummary class=\"pgf1-det-sum\"\u003e\n          \u003cdiv class=\"pgf1-det-left\"\u003e\n\u003cspan class=\"pgf1-det-ico\"\u003e📦\u003c\/span\u003e\u003cdiv\u003e\n\u003cspan class=\"pgf1-det-title\"\u003eContents\u003c\/span\u003e\u003cspan class=\"pgf1-det-sub\"\u003eModular mini expansion\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n          \u003cspan class=\"pgf1-det-arr\"\u003e\u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"pgf1-det-body\"\u003e\n          \u003cdiv class=\"pgf1-comp-grid\"\u003e\n            \u003cdiv class=\"pgf1-comp\"\u003e\n\u003cspan class=\"pgf1-comp-qty\"\u003e1\u003c\/span\u003e\u003cspan class=\"pgf1-comp-lbl\"\u003eCentral festival board\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"pgf1-comp\"\u003e\n\u003cspan class=\"pgf1-comp-qty\"\u003e+\u003c\/span\u003e\u003cspan class=\"pgf1-comp-lbl\"\u003eDedicated festival tokens\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"pgf1-comp\"\u003e\n\u003cspan class=\"pgf1-comp-qty\"\u003e1\u003c\/span\u003e\u003cspan class=\"pgf1-comp-lbl\"\u003eExpansion rulebook in English\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"pgf1-comp-note\"\u003eExact quantities of tokens in the box — official Archona Games source.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails class=\"pgf1-det pgf1-det--last\"\u003e\n        \u003csummary class=\"pgf1-det-sum\"\u003e\n          \u003cdiv class=\"pgf1-det-left\"\u003e\n\u003cspan class=\"pgf1-det-ico\"\u003e⚙️\u003c\/span\u003e\u003cdiv\u003e\n\u003cspan class=\"pgf1-det-title\"\u003eCompatibility\u003c\/span\u003e\u003cspan class=\"pgf1-det-sub\"\u003eWhat you need to play\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n          \u003cspan class=\"pgf1-det-arr\"\u003e\u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"pgf1-det-body\"\u003e\n          \u003cdiv class=\"pgf1-compat\"\u003e\n            \u003cdiv class=\"pgf1-compat-row\"\u003e\n              \u003cspan class=\"pgf1-compat-icon\"\u003e✅\u003c\/span\u003e\n              \u003cspan class=\"pgf1-compat-text\"\u003e\u003cstrong\u003ePhilharmonix base game\u003c\/strong\u003e — mandatory. You can't play without it.\u003c\/span\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"pgf1-compat-row\"\u003e\n              \u003cspan class=\"pgf1-compat-icon\"\u003e🇬🇧\u003c\/span\u003e\n              \u003cspan class=\"pgf1-compat-text\"\u003e\u003cstrong\u003eEnglish rulebook\u003c\/strong\u003e — additional rules are short and visually clear.\u003c\/span\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"pgf1-compat-row\"\u003e\n              \u003cspan class=\"pgf1-compat-icon\"\u003e🔄\u003c\/span\u003e\n              \u003cspan class=\"pgf1-compat-text\"\u003e\u003cstrong\u003eModular\u003c\/strong\u003e — can be added at will without burdening the base game setup.\u003c\/span\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\u003cstyle\u003e\n.pgf1-wrap, .pgf1-wrap * { box-sizing: border-box; margin: 0; padding: 0; }\n.pgf1-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: #050208;\n}\n\n\/* ── COVER ── *\/\n.pgf1-cover { position: relative; width: 100%; height: 340px; overflow: hidden; display: flex; align-items: flex-end; }\n.pgf1-cover-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }\n.pgf1-cover-fade { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(5,2,8,0) 0%, rgba(5,2,8,0) 25%, rgba(5,2,8,0.55) 55%, rgba(5,2,8,0.88) 75%, rgba(5,2,8,0.98) 100%); }\n.pgf1-cover-content { position: relative; z-index: 2; padding: 18px 26px 24px; width: 100%; }\n.pgf1-kicker { display: block; color: #FFD24A; font-family: sans-serif; font-size: 0.7rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 8px; }\n.pgf1-sub { color: rgba(255,255,255,0.92); font-family: Georgia, serif; font-size: 1rem; font-style: italic; line-height: 1.55; max-width: 580px; margin-bottom: 16px; }\n.pgf1-chips { display: flex; flex-wrap: wrap; gap: 7px; }\n.pgf1-chip { background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.28); color: #fff; font-family: sans-serif; padding: 4px 12px; border-radius: 50px; font-size: 0.78rem; font-weight: 600; }\n.pgf1-chip--gold { background: #D4A017; border-color: #D4A017; color: #1a0a00; }\n\n\/* ── EXPANSION WARNING ── *\/\n.pgf1-expansion-warning {\n  background: linear-gradient(90deg, #3a1a5a 0%, #4a2070 100%);\n  padding: 16px 24px;\n  display: flex;\n  align-items: center;\n  gap: 14px;\n  border-top: 2px solid #D4A017;\n  border-bottom: 1px solid rgba(255,255,255,0.08);\n}\n.pgf1-ew-icon { font-size: 1.6rem; flex-shrink: 0; }\n.pgf1-ew-body { flex: 1; }\n.pgf1-ew-title { font-family: sans-serif; font-size: 0.8rem; font-weight: 800; color: #FFD24A; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 3px; }\n.pgf1-ew-text { font-family: sans-serif; font-size: 0.88rem; color: rgba(255,255,255,0.92); line-height: 1.5; }\n\n\/* ── SPECS ── *\/\n.pgf1-specs-bar { background: #0a0612; padding: 0 24px; border-bottom: 1px solid rgba(255,255,255,0.06); }\n.pgf1-specs { display: grid; grid-template-columns: repeat(3, 1fr); }\n.pgf1-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.pgf1-spec:nth-child(3n) { border-right: none; }\n.pgf1-spec:nth-last-child(-n+3) { border-bottom: none; }\n.pgf1-spec-icon { font-size: 1.2rem; }\n.pgf1-spec-label { color: rgba(255,255,255,0.4); font-family: sans-serif; font-size: 0.6rem; text-transform: uppercase; letter-spacing: 1px; }\n.pgf1-spec-val { color: #fff; font-family: sans-serif; font-size: 0.84rem; font-weight: 800; }\n\n\/* ── BODY ── *\/\n.pgf1-body { background: #f4ede0; }\n\n\/* ── INTRO ── *\/\n.pgf1-intro-grid { display: grid; grid-template-columns: 1fr; gap: 26px; padding: 36px 28px 8px; }\n.pgf1-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.pgf1-h3 { font-size: clamp(1.4rem, 2.5vw, 2.1rem); font-weight: 900; color: #1a0a05; line-height: 1.15; margin-bottom: 16px; }\n.pgf1-p { font-family: sans-serif; font-size: 0.95rem; color: #3d2810; margin-bottom: 13px; line-height: 1.65; max-width: 700px; }\n\n\/* ── EDITORIAL BOXES ── *\/\n.pgf1-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.pgf1-quote-solo { background: #1a0e3a; border-radius: 14px; padding: 18px 20px; margin-bottom: 12px; border-left: 4px solid #D4A017; }\n.pgf1-quote-solo--alt { background: #3a1a5a; border-left-color: #B040C0; }\n.pgf1-qs-icon { font-size: 1.4rem; display: block; margin-bottom: 8px; }\n.pgf1-qs-text { color: #fff; font-style: italic; font-size: 0.9rem; line-height: 1.6; margin-bottom: 8px; font-family: Georgia, serif; }\n.pgf1-qs-note { color: rgba(255,255,255,0.5); font-family: sans-serif; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }\n\n\/* ── DIVIDER ── *\/\n.pgf1-divider { height: 1px; background: #d8caa8; margin: 32px 28px 0; }\n\n\/* ── FROGSCORE ── *\/\n.pgf1-fs { background:#fff; border-top:1px solid #d8caa8; border-bottom:1px solid #d8caa8; }\n.pgf1-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.pgf1-fs-brand { display:flex; align-items:center; gap:9px; }\n.pgf1-fs-frog-img { width:28px; height:28px; object-fit:contain; flex-shrink:0; }\n.pgf1-fs-footer-frog { width:16px; height:16px; object-fit:contain; vertical-align:middle; margin-right:2px; }\n.pgf1-fs-brand-label { display:block; font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; }\n.pgf1-fs-game-name { font-family:sans-serif; font-size:14px; font-weight:700; color:#1a1208; margin-top:2px; }\n.pgf1-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.pgf1-fs-body { display:grid; grid-template-columns:1fr; background:#f7f4ef; }\n.pgf1-fs-radar-panel { padding:20px 16px; display:flex; justify-content:center; background:#f7f4ef; position:relative; }\n.pgf1-fs-radar-panel svg { width:100%; max-width:270px; height:auto; display:block; }\n.pgf1-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.pgf1-fs-info { padding:16px 18px 18px; background:#f7f4ef; border-top:1px solid #e8e2da; }\n.pgf1-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.pgf1-fs-feeling { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:16px; }\n.pgf1-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.pgf1-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.pgf1-fs-targets { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:7px; margin-bottom:16px; }\n.pgf1-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.pgf1-fs-target span { font-size:14px; flex-shrink:0; }\n.pgf1-fs-si { background:#fff; border-color:#c8c0b0; color:#2a1a08; }\n.pgf1-fs-no { background:transparent; border-color:#e0d8d0; color:#b8a898; opacity:.45; text-decoration:line-through; }\n.pgf1-fs-verdict { background:#fff; border-radius:10px; padding:12px 14px; border:1px solid #e0d8cc; }\n.pgf1-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.pgf1-fs-verdict-text { font-family:sans-serif; font-size:12px; color:#3d2810; line-height:1.65; }\n.pgf1-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\n\/* ── CARDS ── *\/\n.pgf1-section-pad { padding: 32px 28px 8px; }\n.pgf1-cards { display: grid; grid-template-columns: 1fr; gap: 11px; margin-top: 16px; }\n.pgf1-card { background: #fff; border-radius: 14px; padding: 16px 18px; border: 1px solid #e0d4b0; box-shadow: 0 2px 10px rgba(0,0,0,0.05); transition: transform 0.2s ease, box-shadow 0.2s ease; }\n.pgf1-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.09); }\n.pgf1-card-icon { font-size: 1.6rem; display: block; margin-bottom: 7px; }\n.pgf1-card-name { font-size: 0.95rem; font-weight: 900; color: #2E6B0A; margin-bottom: 5px; }\n.pgf1-card-desc { font-family: sans-serif; font-size: 0.85rem; color: #3d2810; line-height: 1.55; }\n\n\/* ── CLOSING ── *\/\n.pgf1-closing { background: #0a0612; padding: 26px 28px; border-top: 3px solid #D4A017; }\n.pgf1-closing-text { font-family: Georgia, serif; font-size: 1.05rem; font-style: italic; color: rgba(255,255,255,0.92); text-align: center; line-height: 1.6; }\n\n\/* ── BOX SECTION ── *\/\n.pgf1-box-section { background: #f4ede0; border-top: 1px solid #d8caa8; }\n.pgf1-det { border-bottom: 1px solid #e8dcc2; background: #fff; }\n.pgf1-det--last { border-bottom: none; }\n.pgf1-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.pgf1-det-sum::-webkit-details-marker { display: none; }\n.pgf1-det-sum::marker { display: none; }\n.pgf1-det[open] .pgf1-det-sum { background: #faf3e6; }\n.pgf1-det-sum:hover { background: #faf3e6; }\n.pgf1-det-left { display: flex; align-items: center; gap: 10px; }\n.pgf1-det-ico { font-size: 17px; flex-shrink: 0; }\n.pgf1-det-title { font-family: sans-serif; font-size: 13px; font-weight: 700; color: #1a0a05; display: block; }\n.pgf1-det-sub { font-family: sans-serif; font-size: 11px; color: #9c8e7a; margin-top: 1px; display: block; }\n.pgf1-det-arr { width: 16px; height: 16px; flex-shrink: 0; position: relative; }\n.pgf1-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.pgf1-det[open] .pgf1-det-arr::before { transform: translate(-50%,-30%) rotate(225deg); }\n.pgf1-det-body { padding: 0 20px 16px; background: #fff; }\n\n.pgf1-comp-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:7px; padding-top:14px; }\n.pgf1-comp { display:flex; align-items:center; gap:8px; padding:8px 10px; background:#faf3e6; border-radius:8px; border:1px solid #e8dcc2; }\n.pgf1-comp-qty { font-family:sans-serif; font-size:0.85rem; font-weight:800; color:#2E6B0A; min-width:26px; flex-shrink:0; text-align:center; }\n.pgf1-comp-lbl { font-family:sans-serif; font-size:0.78rem; color:#3d2810; line-height:1.3; }\n.pgf1-comp-note { font-family:sans-serif; font-size:0.74rem; color:#9c8e7a; font-style:italic; padding-top:10px; line-height:1.5; }\n\n.pgf1-compat { padding-top:14px; display:flex; flex-direction:column; gap:9px; }\n.pgf1-compat-row { display:flex; align-items:flex-start; gap:10px; padding:10px 12px; background:#faf3e6; border-radius:8px; border:1px solid #e8dcc2; }\n.pgf1-compat-icon { font-size:1.1rem; flex-shrink:0; line-height:1.4; }\n.pgf1-compat-text { font-family:sans-serif; font-size:0.84rem; color:#3d2810; line-height:1.5; }\n\n\/* ── RESPONSIVE ── *\/\n@media screen and (min-width: 600px) {\n  .pgf1-specs { grid-template-columns: repeat(6, 1fr); }\n  .pgf1-spec { border-bottom: none; }\n  .pgf1-spec:nth-child(3n) { border-right: 1px solid rgba(255,255,255,0.07); }\n  .pgf1-spec:last-child { border-right: none; }\n  .pgf1-cards { grid-template-columns: repeat(2, 1fr); }\n  .pgf1-fs-body { grid-template-columns: 220px 1fr; }\n  .pgf1-fs-radar-panel { border-top: none; border-right: 1px solid #e8e2da; }\n  .pgf1-fs-info { border-top: none; }\n}\n@media screen and (min-width: 900px) {\n  .pgf1-cover { height: 440px; }\n  .pgf1-cover-content { padding: 22px 36px 30px; }\n  .pgf1-intro-grid { grid-template-columns: 3fr 2fr; align-items: start; padding: 40px 36px 8px; }\n  .pgf1-cards { grid-template-columns: repeat(4, 1fr); }\n  .pgf1-divider { margin-left: 36px; margin-right: 36px; }\n  .pgf1-section-pad { padding: 36px 36px 8px; }\n  .pgf1-closing { padding: 28px 36px; }\n  .pgf1-fs-body { grid-template-columns: 260px 1fr; }\n  .pgf1-fs-radar-panel svg { max-width: 260px; }\n  .pgf1-expansion-warning { padding: 18px 36px; }\n}\n\u003c\/style\u003e","brand":"Archona Games","offers":[{"title":"Default Title","offer_id":53898934059335,"sku":null,"price":14.99,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/galactiv_festival.png?v=1778576845","url":"https:\/\/frogames.it\/en\/products\/philharmonix-galactic-festival","provider":"FroGames","version":"1.0","type":"link"}