{"product_id":"the-phantom-of-the-opera","title":"Il Fantasma dell'Opera","description":"\u003cdiv class=\"fg1-wrap\"\u003e\n  \u003cdiv class=\"fg1-hero\"\u003e\n    \u003cdiv class=\"fg1-hero-content\"\u003e\n      \u003cp class=\"fg1-kicker\"\u003eFroGames — Moments You'll Remember\u003c\/p\u003e\n      \u003cp class=\"fg1-sub\"\u003eHe wants to complete his work. She wants to escape. Ten tricks, two rounds, every card is a battle between perfection and freedom.\u003c\/p\u003e\n      \u003cdiv class=\"fg1-chips\"\u003e\n\u003cspan class=\"fg1-chip fg1-chip--accent\"\u003eCompetitive\u003c\/span\u003e\u003cspan class=\"fg1-chip\"\u003eKorea Boardgames\u003c\/span\u003e\u003cspan class=\"fg1-chip\"\u003eAsymmetric Duel\u003c\/span\u003e\u003cspan class=\"fg1-chip\"\u003eEnglish Edition\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"fg1-specs-bar\"\u003e\n    \u003cdiv class=\"fg1-specs\"\u003e\n      \u003cdiv class=\"fg1-spec\"\u003e\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      \u003cdiv class=\"fg1-spec\"\u003e\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\"\u003e15 min\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"fg1-spec\"\u003e\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\"\u003e10+ years\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"fg1-spec\"\u003e\n        \u003cspan class=\"fg1-spec-icon\"\u003e🎲\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-label\"\u003eMechanics\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-val\"\u003eAsymmetric trick-taking\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"fg1-spec\"\u003e\n        \u003cspan class=\"fg1-spec-icon\"\u003e🎭\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-label\"\u003eObjectives\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-val\"\u003eRole-specific\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"fg1-spec\"\u003e\n        \u003cspan class=\"fg1-spec-icon\"\u003e🎵\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-label\"\u003eTheme\u003c\/span\u003e\n        \u003cspan class=\"fg1-spec-val\"\u003eGaston Leroux's Opera\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"fg1-body\"\u003e\n    \u003cdiv class=\"fg1-intro-grid\"\u003e\n      \u003cdiv class=\"fg1-intro-text\"\u003e\n        \u003cp class=\"fg1-label\"\u003eWHAT IT'S ABOUT\u003c\/p\u003e\n        \u003ch3 class=\"fg1-h3\"\u003eA trick-taking duel where winning or losing a hand makes all the difference\u003c\/h3\u003e\n        \u003cp class=\"fg1-p\"\u003eThe Phantom of the Opera is born from \u003cstrong\u003eGaston Leroux's\u003c\/strong\u003e gothic novel and the pen of \u003cstrong\u003eGeonil\u003c\/strong\u003e, a Korean designer specializing in asymmetric card games. The illustrations by \u003cstrong\u003eBIJOU and Morwen Cloastre\u003c\/strong\u003e recreate the dramatic atmosphere of the Opéra Garnier, amidst candles, masks, and secret passages.\u003c\/p\u003e\n        \u003cp class=\"fg1-p\"\u003eAt the table: one player is the Phantom, the other is Christine. Two rounds of ten tricks each. The Phantom must win AND lose specific tricks according to the pattern of his musical score. Christine must sabotage him, preventing him from completing the composition. Follow suit, use trumps and super-trumps, exchange cards when the Seal Number appears. Every hand is a choice between control and sacrifice.\u003c\/p\u003e\n        \n      \u003c\/div\u003e\n      \u003cdiv class=\"fg1-intro-side\"\u003e\n        \u003cp class=\"fg1-quote-header\"\u003eWhat they say abroad\u003c\/p\u003e\n        \u003cdiv class=\"fg1-quote\" itemscope itemtype=\"https:\/\/schema.org\/Review\"\u003e\n          \u003cp class=\"fg1-quote-text\" itemprop=\"reviewBody\"\u003eA tense duel where every trick is calculated, but the pace never slows down. Fifteen minutes of pure asymmetric tension.\u003c\/p\u003e\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        \u003c\/div\u003e\n        \u003cdiv class=\"fg1-quote fg1-quote--dark\" itemscope itemtype=\"https:\/\/schema.org\/Review\"\u003e\n          \u003cp class=\"fg1-quote-text\" itemprop=\"reviewBody\"\u003eAsymmetric trick-taking finds one of its most elegant forms here: two opposing goals, only one game to play.\u003c\/p\u003e\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        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"fg1-divider\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"fg1-fs\"\u003e\n      \u003cdiv class=\"fg1-fs-header\"\u003e\n        \u003cdiv class=\"fg1-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=\"fg1-fs-frog-img\"\u003e\n          \u003cdiv\u003e\n            \u003cspan class=\"fg1-fs-brand-label\"\u003eFrogScore · FroGames.it\u003c\/span\u003e\n            \u003cp class=\"fg1-fs-game-name\"\u003eThe Phantom of the Opera - English Edition\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cspan class=\"fg1-fs-cat\" style=\"background:#fff0ec;border-color:#e08070;color:#8a2200\"\u003eConflict\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"fg1-fs-body\"\u003e\n        \u003cdiv class=\"fg1-fs-radar-panel\"\u003e\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        \u003c\/div\u003e\n        \u003cdiv class=\"fg1-fs-info\"\u003e\n          \u003cspan class=\"fg1-fs-feel-lbl\"\u003eThe experience\u003c\/span\u003e\n          \u003cdiv class=\"fg1-fs-feeling\"\u003e\n\u003cspan class=\"fg1-fs-feel-tag\"\u003eTense\u003c\/span\u003e\u003cspan class=\"fg1-fs-feel-tag\"\u003eCalculated\u003c\/span\u003e\u003cspan class=\"fg1-fs-feel-tag\"\u003eAsymmetric\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cspan class=\"fg1-fs-section-label\"\u003eWho it's for\u003c\/span\u003e\n          \u003cdiv class=\"fg1-fs-targets\"\u003e\n\u003cdiv class=\"fg1-fs-target fg1-fs-si\"\u003e\n\u003cspan\u003e•\u003c\/span\u003e2 players\u003c\/div\u003e\n\u003cdiv class=\"fg1-fs-target fg1-fs-si\"\u003e\n\u003cspan\u003e🌱\u003c\/span\u003eGateway\u003c\/div\u003e\n\u003cdiv class=\"fg1-fs-target fg1-fs-no\"\u003e\n\u003cspan\u003e🎯\u003c\/span\u003eExperts\u003c\/div\u003e\n\u003cdiv class=\"fg1-fs-target fg1-fs-no\"\u003e\n\u003cspan\u003e🎲\u003c\/span\u003eFamily game\u003c\/div\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"fg1-fs-verdict\"\u003e\n            \u003cdiv class=\"fg1-fs-verdict-title\"\u003eIn brief\u003c\/div\u003e\n            \u003cdiv class=\"fg1-fs-verdict-text\"\u003eA quick and tense asymmetric trick-taking game. The Phantom plays with surgical precision, Christine with continuous disruption. If you're looking for a card duel where every choice matters, it works. If you expect infinite strategic variety, no.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"fg1-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=\"fg1-fs-footer-frog\"\u003e FrogScore · FroGames editorial rating · based on rules, international reviews, and play sessions\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cscript\u003e\n    (function(){\n      var PI2=Math.PI*2;\n      var dims=[{\"label\": \"Tension\", \"value\": 5, \"note\": \"Every trick counts, one wrong move and the whole score collapses\"}, {\"label\": \"Interaction\", \"value\": 5, \"note\": \"Direct duel where every card played responds to the previous one\"}, {\"label\": \"Strategy\", \"value\": 4, \"note\": \"You have to anticipate your opponent and manage the timing of strong cards\"}, {\"label\": \"Replayability\", \"value\": 3, \"note\": \"Two roles, same structure, but every game changes due to card draws\"}, {\"label\": \"Luck\", \"value\": 3, \"note\": \"Initial distribution influences, but you can manage it with exchanges\"}];\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    \u003cdiv class=\"fg1-section-pad\"\u003e\n      \u003cp class=\"fg1-label\"\u003eWhat's on stage\u003c\/p\u003e\n      \u003ch3 class=\"fg1-h3\"\u003eThe elements that make up the duel\u003c\/h3\u003e\n      \u003cdiv class=\"fg1-cards\"\u003e\n        \u003cdiv class=\"fg1-card\"\u003e\n          \u003cspan class=\"fg1-card-icon\"\u003e🎵\u003c\/span\u003e\n          \u003ch4 class=\"fg1-card-name\"\u003eMusical Score\u003c\/h4\u003e\n          \u003cp class=\"fg1-card-desc\"\u003eThe pattern the Phantom must complete: each square indicates a trick to win or lose. The map of victory.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"fg1-card\"\u003e\n          \u003cspan class=\"fg1-card-icon\"\u003e🃏\u003c\/span\u003e\n          \u003ch4 class=\"fg1-card-name\"\u003eTrick Cards\u003c\/h4\u003e\n          \u003cp class=\"fg1-card-desc\"\u003eNormal suits, trumps, super-trumps. Follow suit when you can, otherwise choose whether to use strong cards or save them for later.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"fg1-card\"\u003e\n          \u003cspan class=\"fg1-card-icon\"\u003e🔢\u003c\/span\u003e\n          \u003ch4 class=\"fg1-card-name\"\u003eSeal Number\u003c\/h4\u003e\n          \u003cp class=\"fg1-card-desc\"\u003eWhen it appears, cards are exchanged between players. The moment plans change and the game turns around.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"fg1-card\"\u003e\n          \u003cspan class=\"fg1-card-icon\"\u003e🎭\u003c\/span\u003e\n          \u003ch4 class=\"fg1-card-name\"\u003eAsymmetric Roles\u003c\/h4\u003e\n          \u003cp class=\"fg1-card-desc\"\u003eThe Phantom must complete the score. Christine must prevent him. Two opposing goals, a single deck of cards.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"fg1-closing\"\u003e\n      \u003cp class=\"fg1-closing-text\"\u003eIn the end, you always know who won: either the music is complete, or Christine has escaped. There are no half measures.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\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-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; }\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-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":"25th Century Games","offers":[{"title":"Default Title","offer_id":53782542614855,"sku":null,"price":16.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/ThePhantomoftheOpera00.webp?v=1777099541","url":"https:\/\/frogames.it\/en\/products\/the-phantom-of-the-opera","provider":"FroGames","version":"1.0","type":"link"}