{"product_id":"scheda-origin-story-heroes-villains-expansion","title":"Origin Story: Heroes \u0026 Villains","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\"\u003eThe FroGames Card\u003c\/p\u003e\n\n      \u003cp class=\"fg1-sub\"\u003eYou reach the last round. You choose between three destinies instead of two. You reveal the card and realize that this time you can become the villain. And still win.\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\"\u003eStonemaier Games\u003c\/span\u003e\u003cspan class=\"fg1-chip\"\u003eEvolved Trick-taking\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\"\u003e1 – 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\"\u003eDuration\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-val\"\u003e45 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\"\u003e14+ 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\"\u003ePublisher\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-val\"\u003eStonemaier Games\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\"\u003eWeight\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-val\"\u003eLight (estimate)\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\"\u003eExpands\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-val\"\u003eOrigin Story\u003c\/span\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n  \u003cdiv style=\"background:#160a02;padding:13px 24px;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;border-top:1px solid rgba(255,255,255,0.06)\"\u003e\n\n\u003cspan style=\"font-family:sans-serif;font-size:0.62rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.45)\"\u003eThe formula\u003c\/span\u003e\u003cspan style=\"font-family:sans-serif;font-size:0.92rem;font-weight:800;color:#fff\"\u003eTrick-taking \u003cspan style=\"color:rgba(255,255,255,0.35)\"\u003e×\u003c\/span\u003e Tableau building \u003cspan style=\"color:rgba(255,255,255,0.35)\"\u003e×\u003c\/span\u003e Multiple final choice\u003c\/span\u003e\u003cspan style=\"font-family:sans-serif;font-size:0.78rem;font-weight:800;color:#1a0800;background:#FFB800;padding:5px 13px;border-radius:50px;max-width:100%;line-height:1.4\"\u003e✋ Only here: Villain as a winning strategy\u003c\/span\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\"\u003eTwenty-one new cards for the final chapter of your story\u003c\/h3\u003e\n\n        \u003cp class=\"fg1-p\"\u003eHeroes \u0026amp; Villains is the mini-expansion for Origin Story, the trick-taking game with tableau building by \u003cstrong\u003eJamey Stegmaier and Pete Wissinger\u003c\/strong\u003e. Released in July 2026, it adds \u003cstrong\u003e21 new ending cards\u003c\/strong\u003e to the base deck of 10: 7 superheroes and 14 supervillains. In the last round of Origin Story, you choose who you have become after your journey, and this expansion triples the options, introducing villain endings alongside hero ones.\u003c\/p\u003e\n\n        \u003cp class=\"fg1-p\"\u003eThe setup changes one thing: you now draw \u003cstrong\u003e3 ending cards instead of 2\u003c\/strong\u003e, all shuffled together. This means more variety, less predictability, and the real possibility of ending the game by losing tricks instead of winning them. The cards fit into the base box and integrate without additional rules.\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 say 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\"\u003e\"Fixes a flaw from the base game\"\u003c\/p\u003e\n\n          \u003cp class=\"fg1-quote-transl\"\u003eIt fixes a flaw from the base game\u003c\/p\u003e\n\n          \u003cp class=\"fg1-quote-source\"\u003e— \u003cspan itemprop=\"author\" itemscope itemtype=\"https:\/\/schema.org\/Organization\"\u003e\u003cspan itemprop=\"name\"\u003eBoard Game Quest\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\"\u003eThis expansion arrives one day after the base game's release. It's too early for a consolidated verdict, but the idea is clear: Origin Story had a repetitive ending, and Heroes \u0026amp; Villains promises to solve it. The card will be updated once we've gathered plays and feedback.\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.business\u003c\/span\u003e\n            \u003cp class=\"fg1-fs-game-name\"\u003eOrigin Story: Heroes \u0026amp; Villains\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\"\u003eTactical\u003c\/span\u003e\u003cspan class=\"fg1-fs-feel-tag\"\u003eSurprising\u003c\/span\u003e\u003cspan class=\"fg1-fs-feel-tag\"\u003eFlexible\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-no\"\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\u003eFamily game\u003c\/div\u003e\n\n\u003cdiv class=\"fg1-fs-target fg1-fs-si\"\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\u003eParty\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\"\u003eWhy it intrigues us: it's an expansion that doesn't add systems, but solves the problem of predictable endings by adding options. Choosing between three destinies instead of two means building your tableau with more freedom, and the 14 villains finally make the strategy of losing tricks competitive. Flaws but not deal-breakers: the base game was released in October 2025, this expansion in July 2026. It remains to be seen whether the density of 31 ending cards is truly the sweet spot or if it dilutes too much. First reading, July 2026.\u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"fg1-fs-solo\"\u003e\n\n        \u003cdiv class=\"fg1-fs-solo-row\"\u003e\n\n          \u003cspan class=\"fg1-fs-solo-icon\"\u003e🧘\u003c\/span\u003e\n          \u003cdiv class=\"fg1-fs-solo-text\"\u003e\n\n            \u003cspan class=\"fg1-fs-solo-label\"\u003eSolo mode · Official\u003c\/span\u003e\n            \u003cspan class=\"fg1-fs-solo-stars\" aria-label=\"3 out of 5\"\u003e★★★☆☆\u003c\/span\u003e\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n        \u003cp class=\"fg1-fs-solo-note\"\u003eOrigin Story includes official automa rules, and Heroes \u0026amp; Villains integrates into the solo setup: the bot draws 3 ending cards just like you. The experience remains valid, but the game is designed for multiplayer: trick-taking against an automa loses the tension of reading opponents.\u003c\/p\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 · first reading: based on rules and official presentation, updated with first plays\u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cscript\u003e\n    (function(){\n      var PI2=Math.PI*2;\n      var dims=[{\"label\": \"Rigiocabilità\", \"value\": 5, \"note\": \"Da 10 a 31 carte finali: ogni partita finisce in modo diverso\"}, {\"label\": \"Strategia\", \"value\": 4, \"note\": \"Tre opzioni invece di due: più spazio per build dedicate\"}, {\"label\": \"Interazione\", \"value\": 3, \"note\": \"Trick-taking: competi per le prese, ma ora puoi vincere evitandole\"}, {\"label\": \"Complessità\", \"value\": 2, \"note\": \"Zero regole nuove, solo più carte da mischiare\"}];\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 deck\u003c\/p\u003e\n\n      \u003ch3 class=\"fg1-h3\"\u003eThe four souls of the expansion\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\"\u003e7 new superheroes\u003c\/h4\u003e\n\n          \u003cp class=\"fg1-card-desc\"\u003eCards that enhance the classic strategy: win tricks, accumulate points, play as a hero. They blend with the 10 from the base game for a total of 17 heroic endings.\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\"\u003e14 supervillains\u003c\/h4\u003e\n\n          \u003cp class=\"fg1-card-desc\"\u003eHere everything changes: cards that reward those who lose tricks, who play low cards, who overturn the logic of trick-taking. Now the villain is not a fallback choice, it's a strategy.\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\"\u003e3 cards instead of 2\u003c\/h4\u003e\n\n          \u003cp class=\"fg1-card-desc\"\u003eThe setup changes: you draw three final options at the beginning of the game instead of two. This means you can build your tableau preparing for as many possible endings as possible, and choose at the last moment.\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\"\u003eTotal compatibility\u003c\/h4\u003e\n\n          \u003cp class=\"fg1-card-desc\"\u003eThe 21 cards fit into the base box without taking up space. No new insert, no additional rules to learn. Shuffle and play.\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-section-pad\"\u003e\n\n      \u003cdetails class=\"fg1-sleeve-toggle\"\u003e\n        \u003csummary class=\"fg1-sleeve-summary\"\u003e\n          \u003cspan class=\"fg1-sleeve-summary-icon\"\u003e🛡️\u003c\/span\u003e\n          \u003cspan class=\"fg1-sleeve-summary-text\"\u003e\n            \u003cspan class=\"fg1-sleeve-summary-label\"\u003eRecommended sleeves\u003c\/span\u003e\n            \u003cspan class=\"fg1-sleeve-summary-count\"\u003e23 cards in 2 sizes\u003c\/span\u003e\n          \u003c\/span\u003e\n          \u003cspan class=\"fg1-sleeve-summary-arrow\"\u003e▼\u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"fg1-sleeve-body\"\u003e\n\n          \u003cp class=\"fg1-sleeve-intro\"\u003eIf you play often, we recommend protecting your cards with clear sleeves to make them last longer.\u003c\/p\u003e\n\n          \u003ctable class=\"fg1-sleeve-table\"\u003e\n\n            \u003cthead\u003e\n\n              \u003ctr\u003e\n\n                \u003cth\u003eSize\u003c\/th\u003e\n\n                \u003cth\u003eQuantity\u003c\/th\u003e\n\n              \u003c\/tr\u003e\n\n            \u003c\/thead\u003e\n\n            \u003ctbody\u003e\n\n            \u003ctr\u003e\n\n              \u003ctd class=\"fg1-sleeve-dim\"\u003e70 × 100 mm\u003c\/td\u003e\n\n              \u003ctd class=\"fg1-sleeve-qty\"\u003e21\u003c\/td\u003e\n\n            \u003c\/tr\u003e\n\n            \u003ctr\u003e\n\n              \u003ctd class=\"fg1-sleeve-dim\"\u003e57 × 87 mm\u003c\/td\u003e\n\n              \u003ctd class=\"fg1-sleeve-qty\"\u003e2\u003c\/td\u003e\n\n            \u003c\/tr\u003e\n\n              \u003ctr class=\"fg1-sleeve-total\"\u003e\n\n                \u003ctd\u003eTotal cards\u003c\/td\u003e\n\n                \u003ctd\u003e23\u003c\/td\u003e\n\n              \u003c\/tr\u003e\n\n            \u003c\/tbody\u003e\n\n          \u003c\/table\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/details\u003e\n    \u003c\/div\u003e\n\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":"Stonemaier Games","offers":[{"title":"Default Title","offer_id":54351385067847,"sku":null,"price":6.99,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/OriginStoryHeroes_Villains.webp?v=1784175224","url":"https:\/\/frogames.business\/en\/products\/scheda-origin-story-heroes-villains-expansion","provider":"FroGames","version":"1.0","type":"link"}