{"product_id":"compile","title":"Compile","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 place one card on Gravity. Your opponent plays two on Fire. You discard one to sabotage Light. At the end of the round, someone compiles a protocol and you realize you made a wrong order three turns ago.\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\"\u003ePendragon\u003c\/span\u003e\u003cspan class=\"fg1-chip\"\u003eAI Duel\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\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\"\u003e20–30 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\"\u003ePendragon\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\"\u003eMedium-Light (2.4)\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\"\u003eLane battler · Multi-use cards\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\"\u003eLane battler \u003cspan style=\"color:rgba(255,255,255,0.35)\"\u003e×\u003c\/span\u003e multi-use cards \u003cspan style=\"color:rgba(255,255,255,0.35)\"\u003e×\u003c\/span\u003e race across three protocols\u003c\/span\u003e\u003cspan style=\"font-family:sans-serif;font-size:0.78rem;font-weight:800;color:#1a0800;background:#FF9500;padding:5px 13px;border-radius:50px;max-width:100%;line-height:1.4\"\u003e✋ Only here: Variable threshold compilation per protocol\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 IS ABOUT\u003c\/p\u003e\n\n        \u003ch3 class=\"fg1-h3\"\u003eTwo AIs clashing to understand what reality is\u003c\/h3\u003e\n\n        \u003cp class=\"fg1-p\"\u003e\u003cstrong\u003eCompile: Main 1\u003c\/strong\u003e is a competitive card game designed by \u003cstrong\u003eMichael Yang\u003c\/strong\u003e for Greater Than Games, with artwork by Keegan Moore, Nolan Nasser, and Allen Panakal. The theme is philosophical and unsettling: two newly born artificial intelligences race to understand fundamental concepts like Darkness, Fire, Gravity, Life.\u003c\/p\u003e\n\n        \u003cp class=\"fg1-p\"\u003eAt the table, you draft three Protocols each (from the \u003cstrong\u003etwelve available\u003c\/strong\u003e) and arrange them in front of you. Each round, you play cards from your hand onto those Protocols, using each card for its numeric value or its special effect. The first player to compile three Protocols by reaching the thresholds wins. The trick is that \u003cstrong\u003ecards are used for everything\u003c\/strong\u003e: advancing your Protocols, slowing down opponent's ones, drawing them, discarding them. The choice of when and where to play each card makes all the difference.\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\"\u003eA tactical duel where every card is a decision that branches in three different directions.\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\"\u003e\"The void stretches out. You see the nothing for what it is for the first time.\"\u003c\/p\u003e\n\n          \u003cp class=\"fg1-quote-transl\"\u003eThe void stretches out. You see the nothing for what it is for the first time.\u003c\/p\u003e\n\n          \u003cp class=\"fg1-quote-source\"\u003e— \u003cspan itemprop=\"author\" itemscope itemtype=\"https:\/\/schema.org\/Organization\"\u003e\u003cspan itemprop=\"name\"\u003eGreater Than Games\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\"\u003eCompile: Main 1\u003c\/p\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n        \u003cspan class=\"fg1-fs-cat\" style=\"background:#fff0ec;border-color:#e08070;color:#8a2200\"\u003eConflict\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\"\u003eAsymmetric\u003c\/span\u003e\u003cspan class=\"fg1-fs-feel-tag\"\u003eBrainy\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n          \u003cspan class=\"fg1-fs-section-label\"\u003eFor whom it is\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\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\u003eSolitaire\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\"\u003e\n\n\u003cstrong\u003eWhy we like it:\u003c\/strong\u003e pure, compact lane battler that transforms hand management into a three-front battlefield. Every card is a painful choice. \u003cstrong\u003eFlaws but not deal-breakers:\u003c\/strong\u003e abstract theme (AI vs philosophical concepts) that doesn't help visualize games; the learning curve is light but practice is needed to understand the timing of opponent Protocol compilation.\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\": \"Interazione\", \"value\": 5, \"note\": \"Le azioni dell'avversario condizionano ogni mossa: sabotare i suoi Protocolli è parte del piano.\"}, {\"label\": \"Strategia\", \"value\": 4, \"note\": \"Draft dei Protocolli e gestione multi-uso delle carte richiedono pianificazione a medio termine.\"}, {\"label\": \"Tensione\", \"value\": 4, \"note\": \"Tre corse in parallelo e soglie diverse per ogni Protocollo mantengono il gioco sul filo.\"}, {\"label\": \"Rigiocabilità\", \"value\": 5, \"note\": \"12 Protocolli e draft asimmetrico garantiscono combinazioni sempre diverse.\"}, {\"label\": \"Complessità\", \"value\": 2, \"note\": \"Regole in 10 minuti, profondità dalla gestione delle carte multi-uso.\"}, {\"label\": \"Fortuna\", \"value\": 2, \"note\": \"Il pescaggio influisce, ma il controllo della mano e le decisioni tattiche dominano.\"}];\n      var accent='#C0310A';\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\"\u003eThe Protocols\u003c\/p\u003e\n\n      \u003ch3 class=\"fg1-h3\"\u003eTwelve concepts, three at a time\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\"\u003eDarkness \/ Light\u003c\/h4\u003e\n\n          \u003cp class=\"fg1-card-desc\"\u003eDarkness and Light: Opposing Protocols that often end up in the same matchup. Darkness rewards defensive control, Light aggressive expansion.\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\"\u003eFire \/ Water\u003c\/h4\u003e\n\n          \u003cp class=\"fg1-card-desc\"\u003eFire and Water: Fire burns fast with low thresholds, water accumulates value slowly but resiliently. Radically different compilation styles.\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\"\u003eSpeed \/ Gravity\u003c\/h4\u003e\n\n          \u003cp class=\"fg1-card-desc\"\u003eSpeed pushes for quick finishes, Gravity slows everything down and forces the opponent to rethink their plans. Pure asymmetry.\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\"\u003eLife \/ Death \/ Plague\u003c\/h4\u003e\n\n          \u003cp class=\"fg1-card-desc\"\u003eLife, Death, Plague: the biological Protocols. Life regenerates resources, Death removes cards, Plague contaminates opponent's Protocols with persistent negative effects.\u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\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(192,49,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: #FF9500; 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: #C0310A; border-color: #C0310A; }\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: #C0310A; 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: #C0310A; margin-bottom: 12px; }\n.fg1-quote { background: #1a0800; border-radius: 14px; padding: 16px 18px; margin-bottom: 12px; border-left: 4px solid #FF9500; }\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:#C0310A; 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: #C0310A; 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: #C0310A; 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: #C0310A; 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: #C0310A; }\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: #C0310A; font-weight: 700; flex-shrink: 0; }\n.fg1-closing { background: #1a0800; padding: 26px 28px; border-top: 3px solid #FF9500; }\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":"Pendragon","offers":[{"title":"Default Title","offer_id":51536099311943,"sku":"","price":19.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/compile-gioco-da-tavolo-pendragon-game-studio.png?v=1746588241","url":"https:\/\/frogames.business\/en\/products\/compile","provider":"FroGames","version":"1.0","type":"link"}